Golang type

Golang type

C#中的typedef相似, Go中人为type取的别名是新的类型, 同样需要强转

Example one

type INT int //为int取一个别名
func main() {
	var num INT = 30
	//main.INT(包名.别名) , 30
	fmt.Printf("num的类型是%T, val = %d", num, num)
}

Example two

type FUNC func(int, int) int //为指定格式的函数取别名
func method(param FUNC, a int, b int) int {
	return param(a, b)
}
func main() {
	i := method(func(a int, b int) int {
		return a * b
	}, 10, 20)
	fmt.Println(i)
}
Example three
type integer int
func main() {
	num1 := 10
	//var num2 integer = num1 //错误
	var num2 integer = integer(num1)
	fmt.Printf("%v", num2)
}
原文地址:https://www.cnblogs.com/kikochz/p/13454240.html