type
作用
定义接口,定义结构体,定义一个新的类型
使用type定义新类型
基本语法
type type_name Type
(type加名字加类型)
声明类型
例如
package main
import "fmt"
func main() {
var i1 mystr
fmt.Printf("类型一:%T\n",i1)
var name mystr
name = "李狗蛋"
fmt.Printf("类型二:%T\n",name)
}
type mytype int
type mystr string
定义函数类型
//创建函数类型
type myfun func(int,int)(string)
//函数定义
func fun1() myfun{
fun:=func(a,b int)string{
//将int转为string
s:=strconv.Itoa(a)+strconv.Itoa(b)
return s
}
//返回函数fun
return fun
}
//在主函数中调用
func main(){
res1:=fun1()
fmt.Println(res1(10,20))
}
创建类型别名
基本写法:type 别名 = Type
不是定义新的数据类型,只是给int起别名,和int可以通用
例如
//定义别名
type myint2 = int
//测试是否可与int通用
func main(){
var int2 myint2 = 1
int2Test:=1
fmt.Println(int2 == int2Test)
}
运行结果
true
注意
非本地类型不能定义方法
结构体在嵌套时使用别名,是两个不同的