文件名称叫basic,选择Simple Application
一个简单的HelloWorld示例,使用fmt的库来进行打印
package main
import "fmt"
func main() {
fmt.Println("Hello World!")
}
定义变量使用var关键字,变量名在前面,变量类型在后面,并将刚定义的变量值进行打印
go语言定义变量之后会有一个合理的初始值,int类型的是0,string类型的是个空串
func variable(){
var a int
var b string
fmt.Println(a,b)
}
打印结果如下:
空串没有打印出来,如果想将空串打印出来使用printf,printf可以跟格式,%s是一个空串和刚才一样,改成%q的化可以将引号打印出来
func variable(){
var a int
var b string
fmt.Printf("%d %q\n",a,b)
}
打印结果如下:
可以一次定义多个相同的变量并赋予初始值,变量中间使用逗号进行分割
func variableInitValue(){
var a,b int = 5,8
var s string = "abc"
fmt.Println(a,b,s)
}
运行结果如下:
编译器可以自动判断赋予的值是什么类型,因此定义变量的是可以省略类型
不指定变量类型的时候可以将所有的变量写到一行
func variableTypeDeduction(){
var a,b,t,s = 5,8,true,"abc"
fmt.Println(a,b,t,s)
}
运行结果如下:
上面的写法稍微有点繁琐,可以将其写成如下方式,再次对变量赋值时不能使用:=了,但是第一次使用变量必须使用冒号
func variableShoter(){
a,b,t,s := 5,8,true,"abc"
a = 66
fmt.Println(a,b,t,s)
}
运行结果如下:
之上所有的变量定义都是在函数里面,在函数外面同样可以定义变量,但是此时必须使用var关键字。此时这些aa,bb,tt变量的作用域是包内,go语言没有全局变量
package main
import "fmt"
var aa = 123
var ss = "abc"
var tt = true
如上面定义三个变量使用了三个var,可以使用以下方式进行简写
var (
aa = 123
ss = "abc"
tt = true
)