golang底层类型

2021-11-12  本文已影响0人  小易哥学呀学

命名类型

自定义类型预定义类型都属于命名类型。
 

未命名类型

类型字面量属于未命名类型。
 

底层类型

规则1:预定义类型和类型字面量的底层类型是它们自身。
规则2:自定义类型的底层类型递归向下查找,直到查找到预定义类型或类型字面量为止。

// a的底层类型是int,因为int是预定义类型
type a int 

// b的底层类型是int
// 因为a是自定义类型,继续向下找到int,int是预定义类型
type b a 

// c的底层类型是[]int
// 因为[]int是类型字面量
type c []int

// d的底层类型是[]int
// 因为c是自定义类型,继续向下找到[]int
// []int是类型字面量
type d c

// e的底层类型是[]a
// 因为[]a不是自定义类型,也不是预定义类型,是类型字面量
type e []a

// f底层类型是*e
// *e不是自定义,不是预定义
// *e是类型字面量
type f *e

 

底层类型的作用

类型间赋值,类型之间强制转换,都与底层类型有着密切关系。

上一篇下一篇

猜你喜欢

热点阅读