go中某个值的动态类型是啥意思?

Posted

技术标签:

【中文标题】go中某个值的动态类型是啥意思?【英文标题】:What is the meaning of a dynamic type of some value in go?go中某个值的动态类型是什么意思? 【发布时间】:2013-12-29 09:15:39 【问题描述】:

考虑到go 是静态类型语言,那么动态类型的一些值是什么意思?

【问题讨论】:

【参考方案1】:

在处理接口值时,变量的“动态类型”很重要。 动态类型定义如下(source):

变量的静态类型(或只是类型)是由其声明定义的类型。 接口类型的变量也有一个独特的动态类型,它是运行时变量中存储的值的实际类型。动态类型在执行过程中可能会发生变化,但始终可以分配给静态类型接口变量。对于非接口类型,动态类型始终是静态类型。

考虑这个例子:

var someValue interface = 2

someValue 的静态类型为interface,但动态类型为int,可能非常 好在未来改变。示例:

var someValue interface = 2

someValue = "foo"

在上面的示例中,someValue 的动态类型从 int 更改为 string

【讨论】:

+1,这是重点:For non-interface types, the dynamic type is always the static type

以上是关于go中某个值的动态类型是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

动态血压value是啥意思中文?

Python动态强类型解释型语言

javascript 中 <br /> 是啥意思?

dll是啥文件格式

sql动态查询返回值的意义是啥呢?

python是啥意思?