75142913在线留言
GO语言学习笔记1:变量定义的N种方法_Go语言_网络人

GO语言学习笔记1:变量定义的N种方法

Kwok 发表于:2020-09-28 16:28:46 点击:58 评论: 0

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关键字并推导批量定义:

//标准定义
var (
	a int     = 1
	b bool    = false
	c float32 = 3.0
	d string  = "hello"
)
//以下是推导定义
var (
	a = 1
	b = false
	c = 3
	d = "hello"
)

七、GO语言中的保留关键字

截止目前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)使用。

最后:GO语言为我们提供了多个基本类型

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)

以下几种变量值为nil


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变量Kwok最后编辑于:2020-12-03 14:03:43
6
感谢打赏!

《GO语言学习笔记1:变量定义的N种方法》的网友评论(0)

本站推荐阅读

热门点击文章