變數聲明 // var 變數名 變數類型 var name string // 批量聲明 var ( a string b int ) // 初始化 var 變數名 類型 = 表達式 // 一次初始化多個 var a, b = 1, 2 // 變數推導,可以省略類型,根據右邊定義的值自動推導類型 v ...
變數聲明
-
// var 變數名 變數類型 var name string
-
// 批量聲明 var ( a string b int )
-
// 初始化 var 變數名 類型 = 表達式 // 一次初始化多個 var a, b = 1, 2
-
// 變數推導,可以省略類型,根據右邊定義的值自動推導類型 var a = 123
-
// 短變數聲明,一般用於函數內部,不能在函數外使用 a := 100
-
// 匿名變數,用 _ 表示 用於獲取多個值時忽略某個值 package main import "fmt" func qwer() (int, string) { return 1, "haha" } func main() { a, _ := qwer() _, b := qwer() fmt.Println("a=", a) fmt.Println("b=", b) }
常量
-
// const 常量名 = xxx const a = 1
-
// 多個常量 const ( b = 12 c = 34 ) // const同時聲明多個常量時,如果省略了值則表示和上面一行的值相同 const ( d = 12 e )
iota
iota
是go語言的常量計數器,只能在常量的表達式中使用
-
//
iota
在const關鍵字出現時將被重置為0。const中每新增一行常量聲明將使iota
計數一次(iota可理解為const語句塊中的行索引)。 使用iota能簡化定義,在定義枚舉時很有用。
const ( a = iota // 0 b // 1 ) const c = iota // 0 -
// demo1 使用 _ 跳過某些值 const ( n1 = iota //0 n2 //1 _ n4 //3 ) // demo2 iota聲明中間插隊 const ( n1 = iota //0 n2 = 100 //100 n3 = iota //2 n4 //3 ) /* demo3 定義數量級 (這裡的<<表示左移操作,1<<10表示將1的二進位表示向左移10位,也就是由1變成了10000000000,也就是十進位的1024。同理2<<2表示將2的二進位表示向左移2位,也就是由10變成了1000,也就是十進位的8。) */ const ( _ = iota KB = 1 << (10 * iota) MB = 1 << (10 * iota) GB = 1 << (10 * iota) TB = 1 << (10 * iota) PB = 1 << (10 * iota) ) // demo4 多個iota定義在一起 const ( a, b = iota + 1, iota + 2 //1,2 c, d //2,3 e, f //3,4 )
參考 https://www.liwenzhou.com/posts/Go/go_menu/ 整理記錄