• 方法

    方法

    1. struct User {
    2. age int
    3. }
    4. fn (u User) can_register() bool {
    5. return u.age > 16
    6. }
    7. user := User{age: 10}
    8. println(user.can_register()) // ==> "false"
    9. user2 := User{age: 20}
    10. println(user2.can_register()) // ==> "true"

    V语言没有类,但是可以基于类型定义方法。

    方法是一种带有接收者参数的特殊函数。

    接收者参数出现在fn关键字和方法名字之间,方法名之后也可以有普通的参数。

    在上面的例子中,can_register方法有一个User类型的接收者参数u。V语言的习惯是不要用self或this这类名字作为接收者参数名,而是使用短小有意义的名字。