1. 程式人生 > >go學習(二)——基本資料型別和基本語法

go學習(二)——基本資料型別和基本語法

在 Go 程式語言中,資料型別用於宣告函式和變數。

資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才需要申請大記憶體,就可以充分利用記憶體。

1.常見資料型別

Go 語言按類別有以下幾種資料型別:

1 布林型
布林型的值只可以是常量 true 或者 false。一個簡單的例子:var b bool = true。
2 數字型別
整型 int 和浮點型 float,Go 語言支援整型和浮點型數字,並且原生支援複數,其中位的運算採用補碼。
3 字串型別:
字串就是一串固定長度的字元連線起來的字元序列。Go的字串是由單個位元組連線起來的。Go語言的字串的位元組使用UTF-8編碼標識Unicode文字。
4 派生型別:
包括:
  • (a) 指標型別(Pointer)
  • (b) 陣列型別
  • (c) 結構化型別(struct)
  • (d) Channel 型別
  • (e) 函式型別
  • (f) 切片型別
  • (g) 介面型別(interface)
  • (h) Map 型別

1.1 數字型別

Go 也有基於架構的型別,例如:int、uint 和 uintptr。

1 uint8
無符號 8 位整型 (0 到 255)
2 uint16
無符號 16 位整型 (0 到 65535)
3 uint32
無符號 32 位整型 (0 到 4294967295)
4 uint64
無符號 64 位整型 (0 到 18446744073709551615)
5 int8
有符號 8 位整型 (-128 到 127)
6 int16
有符號 16 位整型 (-32768 到 32767)
7 int32
有符號 32 位整型 (-2147483648 到 2147483647)
8 int64
有符號 64 位整型 (-9223372036854775808 到 9223372036854775807)

浮點型:

1 float32
IEEE-754 32位浮點型數
2 float64
IEEE-754 64位浮點型數
3 complex64
32 位實數和虛數
4 complex128
64 位實數和虛數

1.2 其他數字型別

以下列出了其他更多的數字型別:

1 byte
類似 uint8
2 rune
類似 int32
3 uint
32 或 64 位
4 int
與 uint 一樣大小
5 uintptr
無符號整型,用於存放一個指標

2. Go 語言基礎語法

上一章節我們已經瞭解了 Go 語言的基本組成結構,本章節我們將學習 Go 語言的基礎語法。

2.1 Go 標記

Go 程式可以由多個標記組成,可以是關鍵字,識別符號,常量,字串,符號。如以下 GO 語句由 6 個標記組成:

fmt.Println("Hello, World!")

6 個標記是(每行一個):

1. fmt 2..3.Println4.(5."Hello, World!"6.)

2.2 行分隔符

在 Go 程式中,一行代表一個語句結束。每個語句不需要像 C 家族中的其它語言一樣以分號 ; 結尾,因為這些工作都將由 Go 編譯器自動完成。

如果你打算將多個語句寫在同一行,它們則必須使用 ; 人為區分,但在實際開發中我們並不鼓勵這種做法。

以下為兩個語句:

fmt.Println("Hello, World!") fmt.Println("w3cschool菜鳥教程:w3cschool.cc")

2.3 註釋

註釋不會被編譯,每一個包應該有相關注釋。

單行註釋是最常見的註釋形式,你可以在任何地方使用以 // 開頭的單行註釋。多行註釋也叫塊註釋,均已以 /* 開頭,並以 */ 結尾。如:

// 單行註釋/* Author by w3cschool菜鳥教程 我是多行註釋 */

2.4 識別符號

識別符號用來命名變數、型別等程式實體。一個識別符號實際上就是一個或是多個字母(A~Z和a~z)數字(0~9)、下劃線_組成的序列,但是第一個字元必須是字母或下劃線而不能是數字。

以下是有效的識別符號:

mahesh kumar abc move_name a_123 myname50 _temp j a23b9 retVal

以下是無效的識別符號:

  • 1ab(以數字開頭)
  • case(Go 語言的關鍵字)
  • a+b(運算子是不允許的)

2.5 關鍵字

下面列舉了 Go 程式碼中會使用到的 25 個關鍵字或保留字:

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var

除了以上介紹的這些關鍵字,Go 語言還有 36 個預定義識別符號:

append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr

程式一般由關鍵字、常量、變數、運算子、型別和函式組成。

程式中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}。

程式中可能會使用到這些標點符號:.、,、;、: 和 …。

2.6 Go 語言的空格

Go 語言中變數的宣告必須使用空格隔開,如:

var age int;

語句中適當使用空格能讓程式看易閱讀。

無空格:

fruit=apples+oranges;

在變數與運算子間加入空格,程式看起來更加美觀,如:

fruit = apples + oranges;