golang 赋值与声明语法糖使用注意事项
程序员文章站
2022-06-03 19:05:30
赋值与声明语法糖 基本用法略, 搜索即可 注意事项 类型推断 会自动进行类型推断, 当想要的类型不是自己想要的类型时需要进行类型转换 这里说到类型推断, 提一下 const 变量, 如果是 const 变量中定义的值会自动根据语境在编译期自动判断类型 同作用域已有变量不会重新创建新的变量 左边的变量 ......
赋值与声明语法糖
基本用法略, 搜索即可
注意事项
类型推断
:=
会自动进行类型推断, 当想要的类型不是自己想要的类型时需要进行类型转换
// i1 默认是 int 类型 i1 := 1 // 当需要把 i2 当成 int64 来使用时需要进行类型转换再赋值 i2 := int64(1)
这里说到类型推断, 提一下 const 变量, 如果是 const 变量中定义的值会自动根据语境在编译期自动判断类型
同作用域已有变量不会重新创建新的变量
:=
左边的变量不一定全是新变量, 有可能是老变量, 只是被重新赋值了而已, 只要是同作用域内已有的变量, 不会创建新的变量
// 返回 1 func testfunc() (ret int) { ret, err := 1, error(nil) if err != nil { return } return }
作用域不同一定会创建新的变量
跟上面一点要区分开
// 返回 0, 返回值的 ret 并没有被赋值, 赋值的是 if 里面的 ret, 和外面的 ret 并不相关 func testfunc() (ret int) { if ret, err := 1, error(nil); err != nil { fmt.println(ret) return } return }
上一篇: 一起学Android之音频视频
下一篇: 菠萝与榴莲各自的价值