go學習(二)——基本資料型別和基本語法
資料型別的出現是為了把資料分成所需記憶體大小不同的資料,程式設計的時候需要用大資料的時候才需要申請大記憶體,就可以充分利用記憶體。
1.常見資料型別
Go 語言按類別有以下幾種資料型別:
1 | 布林型 布林型的值只可以是常量 true 或者 false。一個簡單的例子:var b bool = true。 |
2 | 數字型別 整型 int 和浮點型 float,Go 語言支援整型和浮點型數字,並且原生支援複數,其中位的運算採用補碼。 |
3 | 字串型別: 字串就是一串固定長度的字元連線起來的字元序列。Go的字串是由單個位元組連線起來的。Go語言的字串的位元組使用UTF-8編碼標識Unicode文字。 |
4 | 派生型別: 包括:
|
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 |
println | real | recover | string | true | uint | uint8 | uintptr |
程式一般由關鍵字、常量、變數、運算子、型別和函式組成。
程式中可能會使用到這些分隔符:括號 (),中括號 [] 和大括號 {}。
程式中可能會使用到這些標點符號:.、,、;、: 和 …。
2.6 Go 語言的空格
Go 語言中變數的宣告必須使用空格隔開,如:
var age int;
語句中適當使用空格能讓程式看易閱讀。
無空格:
fruit=apples+oranges;
在變數與運算子間加入空格,程式看起來更加美觀,如:
fruit = apples + oranges;