Go 基本类型
(1) bool 取值 false, true
(2) string 单行 "str" `str`
(3) 整型:
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte <-> uint8
rune <-> int32
(4) 浮点型:float32 float64
(5) 复数:complex64 complex128 e.g. 1+2i
复合类型
(1) struct
type S struct {
field type
}
(2) interface
type I interface {
func(args) type
}
类型转换
GO语言是强类型语言,使用变量之前需要声明其类型,类型转换也要求显示声明。隐式类型转换只存在于其他类型转某接口,一般是接口作为函数参数类型,接收实现了该接口的对象。
类型断言
接口转其他类型必须用类型断言
a.(type)
e.g.
type I interface {
Hello()
}
type S struct {
Name string
}
func (s S)Hello() {
fmt.Println(s.Name)
}
var a I=S{"lb"}
v, err := a.(S)
则err为true, v为S类型的变量,值与a相同
有疑问加站长微信联系(非本文作者)