go语言修炼之八-type用法小结
今天回顾一下type关键字用法。在go语言里type关键字除了c、c++里别名定义的用法,还有更广泛的外延使用方式,同时也是使用类、接口等操作的关键技术。有必要小结一下。
type用法
1、别名
2、定义简单类型
3、定义复杂类型
复杂类型包括:
struct
interface
func
说明
一、别名:
type MT = string
var aaa MT
aaa = "i am string"
fmt.Printf(aaa)
这里指定string的一个别名MT,也就是MT完全等价于string,var aaa MT 就等同于var aaa string。
这里需要注意的一点,别名方式需要使用符号 “=”,这样如果基础类型是含有方法的特殊对象,新定义的别名也自动具备基础类型所包含的所有方法。示例如下:
package main
import (
"fmt"
)
type person struct {
name string
age int
}
func (e *person) show() {
fmt.Println("name=", e.name)
fmt.Println("age=", e.age)
}
func main() {
aaa := person{
"wen"<