方法(Methods)
struct User {
age int
}
fn (u User) can_register() bool {
return u.age > 16
}
fn main() {
user := User{age: 10}
println(user.can_register()) // ==> "false"
user2 := User{age: 20}
println(user2.can_register()) // ==> "true"
}
V语言中没有类的概念,但是你可以在结构体 struct
上定义方法(Methods)。
方法(Methods)是具有特殊接收器参数的函数。接收器出现在 fn
关键字和方法名称之间的参数列表中(和Go语言类似)。
在上面的示例中,can_register
方法具有名为 u
的 User
结构体的接收器。不是使用像 self
或 this
这样的名称,而是使用短名称,最好是所属结构体名称的首字母小写。