type用于类型定义和类型别名
- 类型定义: type 类型名 Type
- 类型别名: type 类型名 = Type
注意事项:
- type不能定义非本地类型的方法
package main
import "fmt"
type myint int
type mystr string
func main(){
var i1 myint //定义新类型
var i2 int = 100 //类型别名
fmt.Println(i1, i2)
fmt.Printf("%T\n%T",i1, i2)
var name mystr = "xiaohu"
var s1 string = "lixiaohua"
fmt.Println(name , s1)
}
package main
import (
"fmt"
"strconv"
)
//定义一个函数
type myfun func(int, int)string
func funTest() myfun {
fun := func(a, b int) string {
s := strconv.Itoa(a) + strconv.Itoa(b)
return s
}
return fun
}
func main(){
res := funTest()
fmt.Println(res(20, 48))
}
package main
import(
"fmt"
"time"
)
type MyDuration time.Duration
//通过这样的方法可以赋予导入的对象方法
func (m MyDuration) SimpleTest(){
fmt.Println("SimpleTest")
}
func main(){
var m MyDuration
m.SimpleTest()
}