- package 定义包
- import 导入包
- func 定义函数
- const 定义常量
- var 定义变量
- if 条件分支语句
- else 条件分支语句
- switch 可用于取代if...else if...else
- case 与switch一同使用
- default 在switch中使用,等同于else语句
- for 循环语句
- break 跳出循环语句
- continue 跳过当次循环
- fallthrough 继续执行下一条case语句
- goto 跳转至指定语句行
- return 函数返回
- range 用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素
- map 无序键值对的集合
- interface 定义接口
- struct 定义结构体
- type 定义类型
- chan 定义通道
- select 选择需执行的通道
- go 并行执行
- 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)
}
网友评论