为了账号安全,请及时绑定邮箱和手机立即绑定

range 或 map 返回什么?

range 或 map 返回什么?

Go
青春有我 2021-06-30 19:59:58
Go 有非常简洁的多返回值范式。但它看起来像v, ok := map[key]并v, k := range m使用具有相同符号的不同机制。这是一个简单的例子:func f2() (k, v string) {    return "Hello", "World"}func main(){    k := f2() // Doesn't work : multiple-value f2() in single-value context    m := map[string]int{"One": 1}    // It works    v, ok := m["One"]    // How it all work?    v := m["One"]    for k := range m {}}在上面的例子中,k := f2()给出错误f2返回两个值,而v, ok := m["One"]和v := m["One"]- 两个表达式都没有任何错误。为什么会有不同的行为?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信