方法(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方法具有名为 uUser结构体的接收器。不是使用像 selfthis这样的名称,而是使用短名称,最好是所属结构体名称的首字母小写。

results matching ""

    No results matching ""