golang中“var”与“:=”的区分_后端开发

后端开发 后端开发 5个月前 (12-24) 36次浏览 0个评论 扫描二维码

Go言语内里定义变量有多种体式格局。

运用var关键字是Go最基本的定义变量体式格局,偶然也会运用到:=来定义变量。

定义变量

// 定义一个名称为“variableName”,范例为"type"的变量
// var variableName type
var number int

定义变量并初始化值

// 初始化“variableName”的变量为“value”值,范例是“type”
// var variableName type = value
var number int = 10

同时初始化多个变量,又叫平行赋值

/*
    定义三个范例都是"type"的变量,而且离别初始化为响应的值
    vname1为v1,vname2为v2,vname3为v3
*/
// var vname1, vname2, vname3 type = v1, v2, v3
var number1, number2, number3 int = 1, 2, 3

你是否是以为上面如许的定义有点烦琐?没紧要,由于Go言语的设计者也发现了,有一种写法能够让它变得简朴一点。我们能够直接疏忽范例声明,那末上面的代码变成如许了:

/*    
定义三个变量,它们离别初始化为响应的值    
vname1为v1,vname2为v2,vname3为v3    
然后Go会依据其响应值的范例来帮你初始化它们
*/
// var vname1, vname2, vname3 = v1, v2, v3
var number1, number2, number3 = 1, 2, 3

你以为上面的照样有些烦琐?好吧,我也以为。让我们继承简化:

/*    
定义三个变量,它们离别初始化为响应的值    
vname1为v1,vname2为v2,vname3为v3    
编译器会依据初始化的值自动推导出响应的范例*/
// vname1, vname2, vname3 := v1, v2, v3
number1, number2, number3 := 1, 2, 3

如今是否是看上去异常简约了?:=这个标记直接庖代了vartype,这类情势叫做简短声明。不过它有一个限定,那就是它只能用在函数内部;在函数外部运用则会没法编译经由过程,所以平常用var体式格局来定义全局变量。

换句话说,“:=”只能在声明“局部变量”的时刻运用,而“var”没有这个限定。

相干文章教程引荐:golang教程

以上就是golang中“var”与“:=”的区分的细致内容,更多请关注ki4网别的相干文章!

喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址