南京h5网站建设,o2o模式免费ppt模板,青岛 制作网站 大点的公司,重庆微信网站制作文章目录1 Go中的变量2 声明一个变量3 声明变量并初始化4 变量推断5 声明多个变量5.1 多个变量相同类型5.2 多个变量不同类型6 简短声明7 Go语言变量不能把一种类型赋值给其他类型1 Go中的变量
Go中变量指定了某存储单元的名称#xff0c;该存储单元会存储特定类型的值#…
文章目录1 Go中的变量2 声明一个变量3 声明变量并初始化4 变量推断5 声明多个变量5.1 多个变量相同类型5.2 多个变量不同类型6 简短声明7 Go语言变量不能把一种类型赋值给其他类型1 Go中的变量
Go中变量指定了某存储单元的名称该存储单元会存储特定类型的值在Go中有多种语法用于声明变量。
2 声明一个变量 语法 //关键字 变量名 变量类型
var name type测试 package mainimport fmtfunc main() {var age int // 定义一个int类型的变量age 12 // 变量赋值var name string // 定义一个string类型的变量name 张三 // 变量赋值fmt.Println(姓名, name, 年龄, age) // 姓名 张三 年龄 12
}如果变量声明后没有进行初始化Go会默认将其赋值为0
package mainimport fmtfunc main() {//var age int//age 12//var name string//name 张三//fmt.Println(姓名, name, 年龄, age) // 姓名 张三 年龄 12var count intfmt.Println(count) // 0var str stringfmt.Println(str) // 空var avg float32fmt.Println(avg) // 0
}
3 声明变量并初始化 语法 //关键字 变量名 变量类型 初始化值
var name type value测试 package mainimport fmtfunc main() {// 声明变量并初始化var age int 10fmt.Println(age)// 修改变量值age 11fmt.Println(我长大了, age)
}
4 变量推断
如果定义的变量有初始化值则不用定义变量类型Go会自动推断变量的类型 语法 // 关键字 变量名 初始化值
var age 11
// 省略了age变量的类型int测试 package mainimport fmtfunc main() {var age 10fmt.Println(age is :, age) // age is : 10
}
5 声明多个变量
5.1 多个变量相同类型 语法 var a,b int // 声明变量
a 1
b 2测试 package mainimport fmtfunc main() {var height, weigth intheight 180weigth 60fmt.Println(身高, height, cm, 体重, weigth, kg) // 身高 180 cm 体重 60 kg}5.2 多个变量不同类型 语法 var (name1 type1name2 type2
)测试 package mainimport fmtfunc main() {var (name stringage intheight float32weight float32)name 张三丰age 104height 175.8weight 69.6fmt.Println(姓名:, name, 年龄, age, 身高, height, 体重, weight)// 姓名: 张三丰 年龄 104 身高 175.8 体重 69.6
}
6 简短声明
Go语言支持对未初始化的变量进行简短声明。 语法 // 变量名 : 初始化值
name : initialvalue测试 package mainimport fmtfunc main() {age : 11fmt.Println(age is :, age) // age is : 11
} : 符号左边的值必须都有初始化值否则报错 package mainimport fmtfunc main() {name, age : 张三丰 // 报错 assignment mismatch: 2 variables but 1 valuefmt.Println(name is :, name)
}: 符号左边的变量个数与右边的初始化值的个数一定要相同 package mainimport fmtfunc main() {name, age : 张三丰, 11fmt.Println(name is :, name, age is :, age) // name is : 张三丰 age is : 11
} 简短声明:左侧必须包含一个未初始化的变量 package mainimport fmtfunc main() {var a 10a, b : 11, 12 // 因为b是未初始化的所以不报错fmt.Println(a, b) // 11,12
}如果简短声明:左侧都是初始化的则会报错 package mainimport fmtfunc main() {var a, b 10, 11a, b : 11, 12 // no new variables on left side of :fmt.Println(a, b)
}go给出的报错信息还是很清晰的
7 Go语言变量不能把一种类型赋值给其他类型
Go是强类型语言不能将类型a的变量赋值为类型b的值
package mainimport fmtfunc main() {a, b : 11, 12a kevin // cannot use kevin (untyped string constant) as int value in assignmentfmt.Println(a, b)
}