#
A var declaration can include initializers, one per variable.
If an initializer is present, the type can be omitted; the variable will take the type of the initializer.
代码
package main
import "fmt"
var i, j int = 1, 2
func main() {
var c, python, java = true, false, "no!"
fmt.Println(i, j, c, python, java)
}
翻译
var关键字可以声明变量,也可以在声明的时候初始化这个变量
如果声明变量的同时,初始化了这个变量,那么这个变量的类型可以忽略,因为go能根据你初始化的数据来推断这个类型
总结
Go声明变量的形式
var 变量名字 变量类型 = 初始化的数据
例子:
var pageSize,pageNumber,count int = 0,0,9
但是这种做法有个问题啊,就是var修饰的这几个变量类型都得一样
var userName,age,birthday = "root",89,time.Now()
这种做法,编译器会根据后面的数值来推断前面变量的类型,但是还是有个缺点,就是得带有初始化数据
var(
userName string,
age int,
birthday time.Time,
money double,
)
这种最好,看着也简洁,而且可以初始化,也可以不初始化,推荐这种形式
刚开始学习Go的时候,对var关键字一直不是很理解,其实,后面才明白var就是个形容词,修饰词语,var的意思是说,后面的 都是变量了,但是具体什么类型还是按照Go的习惯(镜面声明,就是正常语言都是类型在前,变量在后,Go是镜面声明:变量在前, 类型在后)