当声明不同类型的对象时,为什么var声明中的运算符“=”位于不同的位置?

阿尔达布罗

我是 Go 的完全新手。努力学习。我注意到这两个声明之间有一个奇怪的区别:

var arr = [3]int {1,2,3}
var i int8 = 5

我的意思是“=”运算符的位置。这背后有什么我应该知道的故事吗?从 C++ 程序员的角度来看,第一个对我来说看起来很可疑。闻起来像一个临时对象的分配,即创建,然后复制到左侧目标。有人可以澄清这一点吗?是否有任何与性能相关的问题?

乔恩·尼克尔斯

第一个语句中变量的类型是从值中推断出来的。第二条语句中变量的类型是明确指定的。根据在编译时确定类型的方式,没有运行时性能差异。

= 符号在两个变量声明中的位置相同:在值之前

这两个语句的任何性能差异都是使用不同类型和值的结果。

第一个声明可以用显式类型编写,但它比需要的更冗长:

var arr [3]int = [3]int{1,2,3}

第二个声明可以用推断类型编写:

var i = int8(5)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

遍历位于不同索引位置的元素

为什么少于运算符接受不同类型的参数,而std :: min不接受?

不同类型的运算符

不同类型的C ++默认赋值运算符

不同类型的三元运算符

如何重用不同类型的运算符重载?

Java条件运算符和不同类型

不同类型的逻辑运算符

为什么Java变量声明中的类型不同?

Typescript,声明具有不同类型的嵌套对象的最佳方法是什么?

Python中的运算符重载:处理不同类型和参数顺序

使用三元运算符可在一行中打印不同类型

我可以在父类中声明一个占位符变量,在子类中以不同类型声明它吗?

为什么 Java == 运算符不能用于非相关类型的两个不同对象?

不同类型的全局声明之间有什么区别

在引用不同类中的变量时使用 !(not) 运算符

将值直接传递给sizeof运算符时,为什么数据类型的大小不同?

管道找到xargs时,无法修改位于不同位置的同名文件

计算位于不同位置的整数数组中公共元素的数量

在C中声明外部变量的不同类型

STL C ++中不同类型的列表声明错误

我应该向对象声明什么类型,以使其接受来自不同类的不同构造函数

为什么将方法添加到类型与在perl6中添加子或运算符不同?

如何重建网络,使其保持相同的属性和形状,但节点位于不同的位置?

如何仅替换位于数字之间的字符并保持不同位置的字符不变

使用PowerShell执行可能位于两个不同位置的文件

选择关键字匹配两个值但位于不同行的位置

当函数目录位于不同的项目/位置时运行 firebase 模拟器

使用与项目其余部分位于不同位置的Java文件