Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
go中某个值的动态类型的含义是什么?_Go_Types - Fatal编程技术网

go中某个值的动态类型的含义是什么?

go中某个值的动态类型的含义是什么?,go,types,Go,Types,考虑到这是一种静态类型的语言,某个值的动态类型的含义是什么?在处理接口值时,变量的“动态类型”很重要。 动态类型的定义如下(): 变量的静态类型(或只是类型)是由其声明定义的类型接口类型的变量也有不同的动态类型,这是在运行时存储在变量中的值的实际类型。动态类型在执行期间可能会有所不同,但始终可分配给接口变量的静态类型。对于非接口类型,动态类型始终是静态类型 考虑这个例子: var someValue interface{} = 2 someValue的静态类型是interface{},而动态类

考虑到这是一种静态类型的语言,某个值的动态类型的含义是什么?

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

变量的静态类型(或只是类型)是由其声明定义的类型接口类型的变量也有不同的动态类型,这是在运行时存储在变量中的值的实际类型。动态类型在执行期间可能会有所不同,但始终可分配给接口变量的静态类型。对于非接口类型,动态类型始终是静态类型

考虑这个例子:

var someValue interface{} = 2
someValue
的静态类型是
interface{}
,而动态类型是
int
,可能非常复杂 未来会有变化。例如:

var someValue interface{} = 2

someValue = "foo"

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

+1,这是关键点:
对于非接口类型,动态类型始终是静态类型