Go基础语法中,基本由以下内容组成
- 包声明
- 导入包(引入包)
- 函数
- 变量
- 语句&表达式
- 注释
下面我们一起来看一下Go中的变量
一、声明变量与赋值
声明变量一般形式使用var 关键字(变量名) 类型来进行声明。使用=为变量赋值
Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。
1.1 声明单个变量
声明name变量并为其赋值为"傻笑zz"
package main
import "fmt"
func main() {
var name string // 声明单个变量
name = "傻笑zz" // 为变量赋值
fmt.Println(name) //打印变量的值
}
执行结果:
傻笑zz
也可以这样写,在声明时同时赋值了
package main
import "fmt"
func main() {
var name string = "傻笑zz" // 声明变量并赋值
fmt.Println(name) //打印变量的值
}
执行结果:
傻笑zz
1.2 同时声明多个变量
声明多个变量时,变量的类型必须为一致才行
1.2.1 声明多个变量分别赋值
package main
import "fmt"
func main() {
var name, name1, name2 string
name = "傻笑zz"
name1 = "傻笑zz_1"
name2 = "傻笑zz_2"
fmt.Print(name, "\n", name1, "\n", name2)
}
执行结果:
傻笑zz
傻笑zz_1
傻笑zz_2
1.2.2 声明多个变量同时赋值
也可以这样写,在声明时同时赋值了
package main
import "fmt"
func main() {
var name, name1, name2 string = "傻笑zz", "傻笑zz_1", "傻笑zz_2"
fmt.Print(name, "\n", name1, "\n", name2)
}
执行结果:
傻笑zz
傻笑zz_1
傻笑zz_2
1.3 使用括号声明多个变量
使用括号声明多个变量时,变量类型可以不一样
package main
import "fmt"
func main() {
var (
name string = "傻笑zz"
name1 string = "傻笑zz_1"
name2 string = "傻笑zz_2"
age int = 21
)
fmt.Print(name, "\n", name1, "\n", name2, "\n", age)
}
执行结果:
傻笑zz
傻笑zz_1
傻笑zz_2
21
1.4 简短声明变量
使用简短声明时,只能在函数内部使用
使用了fmt.Printf根据需求打印:
%T为打印变量类型,%s为打印字符类型的变量
package main
import "fmt"
func main() {
// 简短声明(只能在函数内部使用,并且不需要指定变量类型)
name := "傻笑zz"
fmt.Printf("name变量类型为=%T,值为=%s", name, name) // Printf根据需求打印,%T为打印变量类型,%s为打印字符类型的变量
}
执行结果:
name变量类型为=string,值为=傻笑zz
1.5 变量的默认值
当定义了变量,未对变量进行赋值时,每个类型的变量都有一个默认值
使用了fmt.Printf根据需求打印:
%s为打印字符类型的变量
%d为打印整数类型的变量
%f为打印浮点数类型的变量
%t为打印布尔值类型的变量
package main
import "fmt"
func main() {
var (
name string
age int
hight float64
gender bool
)
fmt.Printf("name变量的默认值为:%s\n", name) // string类型变量默认值为空格
fmt.Printf("age变量的默认值为:%d\n", age) // int类型变量默认值为0
fmt.Printf("hight变量的默认值为:%f\n", hight) // float64类型变量默认值为0.00000
fmt.Printf("gender变量的默认值为:%t\n", gender) // bool(布尔值)类型变量默认值为false
}
执行结果:
name变量的默认值为:
age变量的默认值为:0
hight变量的默认值为:0.000000
gender变量的默认值为:false