持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第3天,点击查看活动详情
定义变量
变量三要素 : 变量名 数据类型 变量值
变量在同一作用域内不能重名
不赋值,就默认使用初始值
先定义,再赋值
package main
import "fmt"
func main(){
//先定义
var a int
//赋值
a = 10
//打印输出变量
fmt.Println("a value: ",a)
}
声明直接赋值(自行判断变量类型)
Print系列函数会将内容输出到系统的标准输出,区别在于Print函数直接输出内容,Printf函数支持格式化输出字符串,Println函数会在输出内容的结尾添加一个换行符。
package main
import (
"fmt"
“reflect" // 后面调用TypeOf查看变量类型
)
func main(){
// 声明直接赋值
var num1 = 10
var num2 = 11.11
var str1 = "Hello,go"
//使用Printf进行打印
fmt.Printf("The num1 value:%v , type:%s \n", num1, reflect.TypeOf(num1))
fmt.Printf("The num2 value:%v , type:%s \n", num2, reflect.TypeOf(num2))
fmt.Printf("The str1 value:%v , type:%s ", str1, reflect.TypeOf(str1))
}
省略 var,使用:=声明赋值
注意:这种声明方法只能作用于函数体内
package main
import (
"fmt"
"reflect"
)
func main() {
//不使用var关键字,直接使用 := 来声明
//注意: 左侧的变量必须是没有声明过的
num3 := 10010
str2 := "hi,go"
fmt.Printf("The num3 value:%v ,type:%s \n", num3, reflect.TypeOf(num3))
fmt.Printf("The str2 value:%v ,type:%s ", str2, reflect.TypeOf(str2))
}
多变量声明
package main
import (
"fmt"
)
func main() {
//先定义,再赋值
var i, j, k int
i, j, k = 1, 2, 3
//自行判断变量类型
var m, n, o = 1, 10.1, "100.111"
//类型推导
a, b, c := 10, 20.20, "三零"
fmt.Printf("The value of i:%v, j:%v, k:%v\n", i, j, k)
fmt.Printf("The value of m:%v, n:%v, o:%v\n", m, n, o)
fmt.Printf("The value of a:%v, b:%v, c:%v", a, b, c)
}