Skip to content

20210101关于golang数据类型的强制转换,尤其是接口与接口之间,函数变量与函数变量之间(总结)

ziyouzy edited this page Jan 2, 2021 · 1 revision

每一种类型与类型别名的类型匹配,都是立属于这个类型自身的特性,没有规律可寻,每种类型都有属于自己的特性:

int->必须强制转换
string->必须强制转换
以及其他基础类型->必须强制转换

结构类->必须强制转换

map->不必须
接口->不必须
数组->不必须
切片->不必须
管道->不必须
函数->不必须

同时任何函数的参数表也遵顼如上特性, 结构体依然比较特殊必须进行强制转换,同时如果取结构体的指针进行同样的操作,需要分为两步,第一部依然是先进行结构体值的强制转换,转换后再进行指针的相关操作,这其实不太算属于当前问题的探讨范畴

总结看来,似乎只有结构体是个特例,同时结构体也是唯一的值类型符合类型

Clone this wiki locally