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
这样的名称,而是使用短名称,最好是所属结构体名称的首字母小写。