1. 程式人生 > 實用技巧 >go 第一章總結

go 第一章總結

1. 開發環境準備

go語言環境安裝

VS code配置go語言環境

2. Go語言基礎

2.1 變數和常量

(1) 識別符號與關鍵字

識別符號:就是程式語言中程式設計師定義的具有意義的詞,比如變數名,常量名,函式名等。

Go語言中的識別符號規範由字母,數字和下劃線( _ )組成,並且只能以字母和下劃線開頭,比如Sub,_ ,_ABC123。

關鍵字:就是程式語言已經定義好的具有特殊含義的識別符號。關鍵字和保留字都不建議用作變數名。(自定義的變數名不要用關鍵字!)

Go語言中有25個關鍵字

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

另外,GO語言中有37個保留字

    Constants:    true
false iota nil Types: int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr float32 float64 complex128 complex64 bool byte rune string error Functions: make len cap new append copy close delete complex real imag panic recover

(2)變數

1.變數型別

變數(Variable) 的作用是儲存資料。不同的變數儲存的資料型別可能會不一樣。不過現在的程式語言的資料型別相差不大,常見變數的資料型別有:整型、浮點型、布林型等。

2. 變數宣告

Go語言中的每一個變數都有自己的型別,並且變數需要聲明後才能使用,同一作用域內不支援重複宣告

變數的標準宣告格式:

var 變數名 變數型別

 變數宣告以關鍵字var 開頭,接著是變數名,變數型別放在變數後面,行尾無需分號。

例:

var age int
var name string
var isOK bool

  

批量宣告

每宣告一個變數就需要寫var關鍵字會比較繁瑣,go語言中還支援批量變數宣告:

var (
    a string
    b int
    c bool

)

變數宣告的時候可以對其進行初始化操作。

變數初始化 

Go語言在宣告變數的時候,會自動對變數對應的記憶體區域進行初始化操作。每個變數會被初始化成其型別的預設值,例如: 整型和浮點型變數的預設值為0。 字串變數的預設值為空字串。 布林型變數預設為false。 切片、函式、指標變數的預設為nil

變數初始化使用 = 進行賦值。

var 變數名 型別 = 表示式

例如:

var name string = "fred"
var age int = 18

或者一次初始化多個變數
var name, age = "fred", 20

型別推導:

變數的型別有時候也可省略,這個時候編譯器會根據等號右邊的值來推導變數的型別完成初始化。

var name = "Fred"
var age = 18 

短變數宣告:

在函式內部,可以使用 := 方式宣告並初始化變數。

package main

import (
	"fmt"
)
// 全域性變數m
var m = 100

func main() {
	n := 10
	m := 200 // 此處宣告區域性變數m
	fmt.Println(m, n)
}

匿名變數:

在使用多重賦值時,如果想要忽略某個值,可以使用匿名變數(anonymous variable)。 匿名變數用一個下劃線_表示,例如:

package main

import (
    "fmt"
)

var m = 100
func foo() (int, string) {
    return 10, "Q1mi"
}
func main() {
    x, _ := foo()
    _, y := foo()
    fmt.Println("x=", x)
    fmt.Println("y=", y)
}

匿名變數不佔用名稱空間,不會分配記憶體,所以匿名變數之間不存在重複宣告。 (在Lua等程式語言裡,匿名變數也被叫做啞元變數。)

變數總結:

注意事項:

  1. 函式外的每個語句都必須以關鍵字開始(var、const、func等)
  2. :=不能使用在函式外。
  3. _多用於佔位,表示忽略值。

(3) 常量

2.2 基本資料型別

2.3 運算子

2.4 流程控制

3. 章節作業