变量声明
go语言提供了4种声明变量的方式,4种方式各有特点
- 声明一个变量,默认值为0
package main
import "fmt"
func main() {
var a int
fmt.Println("a =",a)
fmt.Printf("type of a=%T\n",a)
// a = 0
// type of a=int
这里要记住各个数据类型的默认值
数据类型 | 默认值 |
---|---|
int | 0 |
string | “” |
bool | false |
- 声明一个变量并初始化一个值
package main
import "fmt"
func main() {
var b int = 100
fmt.Println("b =",b)
fmt.Printf("type of b=%T\n",b)
var bb string = "abcd"
fmt.Printf("bb=%s,type of bb=%T\n",bb,bb)
// b = 100
// type of b=int
// bb=abcd,type of bb=string
- 在初始化的时候省去数据类型,通过值自动匹配当前变量的数据类型,这种方式和python的声明变量类似
package main
import "fmt"
func main() {
var c = 100
fmt.Println("c =",c)
fmt.Printf("type of c=%T\n",c)
var cc = "abcd"
fmt.Printf("cc=%s,type of cc=%T\n",cc,cc)
// c = 100
// type of c=int
// cc=abcd,type of cc=string
- (常用方法)省去var关键字,直接自动匹配
package main
import "fmt"
func main() {
e := 100
fmt.Println("e=",e)
fmt.Printf("type of e=%T\n",e)
f := "abcd"
fmt.Println("f=",f)
fmt.Printf("type of f=%T\n",f)
g := 3.14
fmt.Println("g=",g)
fmt.Printf("type of g=%T\n",g)
// e= 100
// type of e=int
// f= abcd
// type of f=string
// g= 3.14
// type of g=float64
4种方式大体相同,但是又有差别:前三种方式可以声明全局变量,第四种不能够声明全局变量
package main
import "fmt"
var gA int = 100
var gB = 200
//gc := 300 // 会报错
func main() {
fmt.Println("gA=",gA,"gB=",gB)
//fmt.Println("gC=",gc)
}
声明多个变量
多个变量与单个类似,按照单个方式声明即可
package main
import "fmt"
func main() {
var xx,yy int = 100,200
fmt.Println("xx=",xx,"yy=",yy)
var kk,ss = 100,"abcd"
fmt.Println("kk=",kk,"ss=",ss)
cc,name,ss := 10,"flandre",100
fmt.Println("cc = ",cc,"name = ",name,"ss = ",ss)
var (
vv int = 100
jj bool = true
)
fmt.Println("vv=",vv,"jj=",jj)
}
// xx= 100 yy= 200
// kk= 100 ss= abcd
// vv= 100 jj= true
// cc = 10 name = flandre ss = 100