变量

变量是保存 的存储位置。允许值的集合由变量的 类型 决定。

 对于变量声明或函数参数和结果,函数声明函数字面量的签名为指定的变量保存存储空间。调用内置函数 new 或获取复合字面量在运行时为变量分配存储空间。此类匿名变量是通过(可能是隐式的)指针间接指引.

结构 变量的数组切片,和结构具有可以单独处理的元素和字段。每个这样的元素都像一个变量。

变量的 静态类型 (或仅 类型 )是其声明中给出的类型,new 调用或复合字面量中提供的类型或结构化变量的元素类型。接口类型的变量具有独特的 动态类型 ,这是在运行时分配给变量的值的具体类型(除非该值是预先声明的标识符nil,没有类型)。动态类型在执行期间可能会有所不同,但是存储在接口变量中的值始终是该变量可分配的静态类型。

var x interface{}  // x 为 nil 并且静态类型是 interface{}
var v *T           // v 的值为 nil, 静态类型是 *T
x = 42             // x 值为 42 并且动态类型是 int
x = v              // x 值为 (*T)(nil) 并且动态类型是 *T

通过在表达式中引用变量来检索变量的值;它是该变量分配的最新值。如果尚未为变量分配值,则其值为其类型的零值

本文章首发在 LearnKu.com 网站上。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
上一篇 下一篇
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~