golang中var与:=的区别解析(golang var new)干货分享

随心笔谈2年前发布 admin
188 0 0

文章摘要

Go语言中可以通过`var`关键字或`:=`关键字来定义变量。`var`关键字是最基本的变量定义方式,例如`var number int`用于定义一个名为`number`、类型为`int`的变量。此外,`var`关键字可以结合赋值初始化,如`var number int=10`,用于将`number`初始化为10。 Go语言还支持更简洁的赋值方式`:=`,例如`var number1, number2, number3=1, 2, 3`或`number1, number2, number3 :=1, 2, 3`。其中,`:=`用于在函数内部简化赋值操作,但在函数外部需使用`var`关键字。需要注意的是,`:=`仅限于函数内部使用,而`var`没有这一限制。 这种方法使变量定义更加简洁,但需要遵守其使用限制(如仅限于函数内部)。了解这些区别有助于更高效地编写Go代码。



Go语言里面定义变量有多种方式。

使用关键字是Go最基本的定义变量方式,有时也会使用到来定义变量。

定义变量

// 定义一个名称为“variableName”,类型为”type”的变量
// var variableName type
var number int

定义变量并初始化值

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

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

// var vname1, vname2, vname3 type=v1, v2, v3
var number1, number2, number3 int=1, 2, 3

你是不是觉得上面这样的定义有点繁琐?没关系,因为Go语言的设计者也发现了,有一种写法可以让它变得简单一点。我们可以直接忽略类型声明,那么上面的代码变成这样了:

// var vname1, vname2, vname3=v1, v2, v3
var number1, number2, number3=1, 2, 3

你觉得上面的还是有些繁琐?好吧,我也觉得。让我们继续简化:

// vname1, vname2, vname3 :=v1, v2, v3
number1, number2, number3 :=1, 2, 3

现在是不是看上去非常简洁了?这个符号直接取代了和,这种形式叫做简短声明。不过它有一个限制,那就是它只能用在函数内部;在函数外部使用则会无法编译通过,所以一般用var方式来定义全局变量。

换句话说,“”只能在声明“局部变量”的时候使用,而“var”没有这个限制。

到此这篇关于golang中“var”与“:=”的区别的文章就介绍到这了,更多相关go var :=区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:go?variant底层原理深入解析Go语言中函数可变参数(Variadic Parameter)详解Golang中的关键字(defer、:=、go?func())详细解读Go?语言的?:=的具体使用基于go interface{}==nil 的几种坑及原理分析GO语言中=和:=的区别说明

© 版权声明

相关文章