自定义数据类型和数据类型别名

发布时间 2023-10-02 17:19:52作者: gao79138

自定义数据类型和数据类型别名

代码

//example.go
package test

import "fmt"

func TestFunction() {
	fmt.Println("自定义类型")
	//自定义类型mesType,它是uint16的别名
	//注意:虽然mesType是uint16的别名,但是二者仍是不同类型,不能够
	//相互赋值和比较,需要进行类型转换
	//注意:自定义类型可以跨包使用,需要首字母大写
	type mesType uint16
	var u1000 uint16 = 1000
	var textMes mesType = mesType(u1000) //需要类型转换
	fmt.Printf("textMes=%v,Type of textMes=%T\n", textMes, textMes)

	fmt.Println("类型别名")
	//myUint16是真正意义上的uint16的别名
	//不需要类型转换
	type myUint16 = uint16
	var myu16 myUint16 = u1000 //不需要类型转换
	fmt.Println(myu16)
}
//main.go
package main

import "GoExample/test"

func main() {
	test.TestFunction()
}