go 基础
程序员文章站
2023-12-31 15:30:58
变量声明 // 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/ 整理记录