小编Mar*_*ark的帖子

没有条件的{..block ..}的golang是做什么的?

我是一个golang新手,我遇到了一个相当有趣的控制结构,它不遵循经典的命令式循环结构.我一直无法找到关于结构的文档.以下是有问题的代码:

  for {
    // read each incoming message
    m, err := getMessage(ws)
    if err != nil {
      log.Fatal(err)
    }   

    // see if we're mentioned
    if m.Type == "message" && strings.HasPrefix(m.Text, "<@"+id+">") {
      // if so try to parse if
      ans := lookup(session, m.Text)
      if len(ans)>0 {
        // looks good, get the quote and reply with the result
        go func(m Message) {
          for _, def := range ans {
            if len(def[1]) > 0 { 
              m.Text = "*" + def[0] + " …
Run Code Online (Sandbox Code Playgroud)

go

4
推荐指数
2
解决办法
1749
查看次数

标签 统计

go ×1