dtbl1231
2018-07-24 21:22
浏览 11
已采纳

Go中实现Rust式类型匹配的惯用方式是什么?

I understand that Go does not support enums of the kind shown in the Rust example below. What would be the idiomatic way of achieving the same effect, i.e., perform matching on types, in Go? For example, would I use an empty struct or an interface?

enum WebEvent {
    PageLoad,
    KeyPress(char),
}

fn inspect(event: WebEvent) {
    match event {
        WebEvent::PageLoad => println!("page loaded"),
        WebEvent::KeyPress(c) => println!("pressed '{}'.", c),
    }
}

Example taken from Rust By Example.

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题