目录
目录
1.定义结构体
2.定义接口
3.类型定义( 函数也是类型,可以作为参数传递给别的函数)
type newType Type
使用类型定义定义出来的类型与原类型不相同,所以不能使用新类型变量赋值给原类型变量,除非使用强制类型转换。
类型定义可以在原类型的基础上创造出新的类型。
其中 newType
是一种新的类型, newType
本身依然具备 Type
类型的特性。
类型声明语句一般出现在包一级,因此如果新创建的类型名字的首字符大写,则在包外部也可以使用。
一个类型声明语句创建了一个新的类型名称,和现有类型具有相同的底层结构。新命名的类型提供了一个方法,用来分隔不同概念的类型,这样即使它们底层类型相同也是不兼容的。
类型转换
1.对于每一个类型T,都有一个对应的操作T(x),用于把x转换成T类型
2.底层基础类型相同时候可以类型转换,只会改变类型而不会影响值本身,底层数据类型决定了内部结构和表达方式,也决定是否可以像底层类型一样对内置运算符的支持
3.数值之间的转型是允许的
4.字符串和[]byte类型转型是允许的
将一个浮点数转为整数将丢弃小数部分,将一个字符串转为
[]byte
类型的slice
将拷贝一个字符串数据的副本。在任何情况下,运行时不会发生转换失败的错误</