Go中的25个关键字

  1. package 定义包
  2. import 导入包
  3. func 定义函数
  4. const 定义常量
  5. var 定义变量
  6. if 条件分支语句
  7. else 条件分支语句
  8. switch 可用于取代if...else if...else
  9. case 与switch一同使用
  10. default 在switch中使用,等同于else语句
  11. for 循环语句
  12. break 跳出循环语句
  13. continue 跳过当次循环
  14. fallthrough 继续执行下一条case语句
  15. goto 跳转至指定语句行
  16. return 函数返回
  17. range 用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素
  18. map 无序键值对的集合
  19. interface 定义接口
  20. struct 定义结构体
  21. type 定义类型
  22. chan 定义通道
  23. select 选择需执行的通道
  24. go 并行执行
  25. defer 延时执行
package main

import "strings"

const ALL_WORDS = "break case chan const continue default defer else fallthrough for func go" +
    " goto if import interface map package range return select struct switch type var"

type Keyword struct{ name string }

func main() {
    keywordMap := map[string]interface{}{}
    for _, w := range strings.Split(ALL_WORDS, " ") {
        keywordMap[w] = Keyword{name: w}
        switch {
        case w == "break":
            continue
        case w == "case":
            fallthrough
        default:
            goto breakLabel
        }
    breakLabel:
        break
    }

    var ch chan int = make(chan int)
    go func(ch chan int) { ch <- 1; return }(ch)

    select {
    case i := <-ch:
        if i == 0 {
        } else {
            println(ALL_WORDS)
        }
    }
    defer close(ch)
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,860评论 2 9
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 13,918评论 0 38
  • 为践行社会主义核心价值观,贯彻党中央以人为本的教育理念,注重发挥实践的养成作用,完善实践教育教学体系,扩大学生的知...
    邱彬茹阅读 526评论 0 0
  • 从早晨起来就在想,我今天要写点什么,可是想到现在,也没有想好,要写点什么。前一段时间写东西,根本不用想,拿...
    缘分_986c阅读 239评论 2 2
  • 这周每天下班洗洗弄弄,吃个饭,就坚持画一到两个画。有很多不足,还不够好,涂涂改改,就这样了,哈哈~ 明天,来试试画...
    蔓茯苓阅读 466评论 4 2