类型别名

##类型别名(type alias)

可以在某一个类型或枚举的基础上定义类型别名,使用上完全一样。

基于基本类型

type Myint = int

type Myf32 = f32

type Myf64 = f64

fn main() {
	i := Myint(10)
	println(i + 100 == 110)
	f := Myf64(1.0)
	println(f + 3.14 == 4.14)
}

基于结构体类型

module main

struct Human {
	name string
}

pub fn (h Human) str() string {
	return 'Human: $h.name'
}

type Person = Human

pub fn (h Person) str() string {
	return 'Person: $h.name'
}

fn main() {
	p := Person{'Bilbo'}
	p2 := Human{'jack'}
	println(p)
	println(p2)
}

基于枚举

###类型别名方法

可以像结构体那样,给类型别名添加方法:

最后更新于

这有帮助吗?