1、var 语句定义了一个变量的列表;跟函数的参数列表一样,类型在后面。如下图中看到的一样,`var` 语句可以定义在包或函数级别。
import "fmt"var js, java boolvar s = []int{7, 11}var n=int(3)var m *intfunc main() {var i intfmt.Println(i,js, java, s,n,m)}
2、变量定义可以包含初始值,每个变量对应一个,如果初始化是使用表达式,则可以省略类型;变量从初始值中获得类型
var i, j int = 1, 2 //每个变量对应一个值var c, js, java = true, false, "no!" //省略了类型,值中获取类型
3、在函数中,`:=` 简洁赋值语句在明确类型的地方,可以用于替代 var 定义。函数外的每个语句都必须以关键字开始(`var`、`func`、等等),`:=` 结构不能使用在函数外
c, js, java := true, false, "no!" //可以明确类型
4、Go 的基本类型有Basic types,可以使用var圆括号打包在一个语法块中
boolstringint int8 int16 int32 int64uint uint8 uint16 uint32 uint64 uintptrbyte // uint8 的别名rune // int32 的别名 // 代表一个Unicode码float32 float64complex64 complex128
//具有不同类型的变量。 同时与导入语句一样,变量的定义“打包”在一个语法块中var (ToBe bool = falseMaxInt uint64 = 1<<64 - 1z complex128 = cmplx.Sqrt(-5 + 12i))
5、零值,变量在定义时没有明确的初始化时会赋值为_零值_。
零值是:
- 数值类型为 `0`,
- 布尔类型为 `false`,
- 字符串为 `""`(空字符串)。
变量是基础,万丈高山平地起,小伙伴们加油,基础牢了,写什么代码都得心应手。
閱讀更多 講故事的福魔康 的文章