doutu1939 2014-05-03 16:46
浏览 27
已采纳

去命名参数

How can I pass dictionary as list of arguments for function like in Python 3 in Go?

Python 3:

def bar(a,b,c):
    print(a,b,c)

args={c: 1, b: 2, a: 3}
bar(**args)

Go blank:

func bar( a, b, c int) {
    fmt.Printf("%d, %d, %d", a, b, c)
}

func main(){
    args := make(map[string]int)
    args["a"] = 3
    args["b"] = 2
    args["c"] = 1
    // what next ?
}
  • 写回答

5条回答 默认 最新

  • duansao6776 2014-05-03 17:00
    关注

    I don't believe this is possible. You'd need to use a struct to do anything even remotely close to this (and it is a remote likeness)

    type Args struct {
        A, B, C int
    }
    
    func bar(args *Args) {
        fmt.Printf("%d, %d, %d", args.A, args.B, args.C)
    }
    
    func main() {
        args := new(Args)
        args.A = 3
        args.B = 2
        args.C = 1
        bar(args)
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊