GO语言的变量分为值变量和引用变量,在定义和使用上有着和其它语言不一样的方式,这样列几个经常会使用到的变量定义方法:
var c int //使用var定义一个int类型的c变量,已开辟了一个int类型的内存空间,初始值为0
c = 10 //给c变量定义一个值,GO是强类型语言,这里只能使用int类型,如果值为10.0就会报错
var c int = 10 //这里将上面的2行语句整合成一句完成。
c := 10 //很多时候我们都会使用类型推导的方式来给变量赋值。编译器会自动推导出值是什么类型。
注意:函数外的每个语句都必须以关键字开始(var,func,type等),因此 := 结构不能在函数外使用。
var a int,b float32 ,c string //同时定义多个不同类型的变量,初值分别为:0,0.0,“”
var d,e,f int //使用逗号隔开就可以一次性定义多个变量
g,h,i,j := true,false,3,"hello" //同时使用推导定义多个不同类型的变量,只能在函数体里出现,否则请用关键字var定义
var a,b,c int = 1,2,3 //按顺序给3个变量赋初值,a=1 b=2 c=3
//标准定义
var (
a int = 1
b bool = false
c float32 = 3.0
d string = "hello"
)
//以下是推导定义
var (
a = 1
b = false
c = 3
d = "hello"
)
截止目前go1.15中有25个保留关键字,这些关键字按用法可归类为4组:
1、const、func、import、package、type和var用来声明数据类型与引入。
2、chan、interface、map和struct 都是组合类型定义。
3、break、case、continue、default、 else、fallthrough、for、goto、if、range、 return、select和switch用在流程控制语句中。
4、defer 延迟执行和go 协程也可以看作是流程控制关键字。
需求:需要将变量a的值与变量b的值互换。
a : = 1
b : = 2
temp := a
b = a
a = temp
以上是常做法,我们需要定义一个临时变量来交换。
而我们可以通过GO语言的定义变量的特性使用以下代码完成:
a := 1
b := 2
a,b = b,a //完成a,b变量的值交换
小提示:声明后的变量必须要使用,要不然会报一个:varname declared but not used。如果变量名首字母大写表示可以跨包使用(public),否则只能在本包(private)使用。
bool 布尔值,只返回真与假,用于判断,true或者false ,定义后初始为false
string 字符串类型。存放文字内容。定义后初始为""
int int8 int16 int32(rune) int64 各种长度的整型,int, uint 和 uintptr在 32 位系统上通常为 32 位宽,在 64 位系统上则为 64 位宽。 当你需要一个整数值时应使用 int类型,除非你有特殊的理由使用固定大小或无符号的整数类型。定义后初始为0
uint8(byte) uint16 uint32 uint64 uintptr 无符号的整型数,其中byte经常使用哦~定义后初始为0float32 float64 精度不同的浮点数,存放金额,定义后初始为0
complex64 complex128 复数类型,用于比较少,初始为(0+0i)
var a *int//指针值
var a []int//int切片
var a map[string] int//int Map
var a chan int //int通道
var a func(string) int //匿名函数变量
var a interface //接口
除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:https://www.55mx.com/post/70
《GO语言学习笔记1:变量定义的N种方法》的网友评论(0)