接口(Interfaces)


struct Dog {}
struct Cat {}

fn (d Dog) speak() string {
    return 'woof'
}
fn (c Cat) speak() string {
    return 'meow'
}

interface Speaker {
    speak() string
}

fn perform(s Speaker) {
    println(s.speak())
}

fn main() {
    dog := Dog{}
    cat := Cat{}
    perform(dog) // ==> "woof" 
    perform(cat) // ==> "meow" 
}

和Go语言类似,结构体通过实现某接口中的方法来"实现"该接口,没有明确的声明,也没有像Java中的 implements 关键字。

results matching ""

    No results matching ""