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)
}

你可能感兴趣的:(Go中的25个关键字)