在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.1 变量
Go 是静态类型语⾔,不能在运⾏期改变变量类型。 使⽤关键字 var 定义变量,⾃动初始化为零值。如果提供初始化值,可省略变量类型,由 编译器⾃动推断。 var x int var f float32 = 1.6 var s = "abc"
在函数内部,可⽤更简略的 ":=" ⽅式定义变量。
func main() { x := 123 // 注意检查,是定义新局部变量,还是修改全局变量。该⽅式容易造成错误。 }
可⼀次定义多个变量。
var x, y, z int var s, n = "abc", 123
var ( a int b float32 )
func main() { n, s := 0x1234, "Hello, World!" println(x, s, n) } 多变量赋值时,先计算所有相关值,然后再从左到右依次赋值。 data, i := [3]int{0, 1, 2}, 0 i, data[i] = 2, 100 // (i = 0) -> (i = 2), (data[0] = 100) 特殊只写变量 "_",⽤于忽略值占位 func test() (int, string) { return 1, "abc" } func main() { _, s := test() println(s) } 编译器会将未使⽤的局部变量当做错误。 var s string func main() { i := 0 // 全局变量没问题。 // Error: i declared and not used。(可使⽤ "_ = i" 规避) } 注意重新赋值与定义新同名变量的区别。 s := "abc" println(&s) s, y := "hello", 20 println(&s, y) { s, z := 1000, 30 println(&s, z) // 重新赋值: 与前 s 在同⼀层次的代码块中,且有新的变量被定义。 // 通常函数多返回值 err 会被重复使⽤。 // 定义新同名变量: 不在同⼀层次代码块。 } 输出: 0x2210230f30 0x2210230f30 20 0x2210230f18 30
网址:http://www.qukuailianxueyuan.io/ 欲领取造币技术与全套虚拟机资料 区块链技术交流QQ群:756146052 备注:CSDN 尹成学院微信:备注:CSDN 网址:http://www.qukuailianxueyuan.io/ 欲领取造币技术与全套虚拟机资料 区块链技术交流QQ群:756146052 备注:CSDN 尹成学院微信:备注:CSDN |
请发表评论