The way go to go
第五章总结
if-lese
- 关键字 if 和 else之后的左大括号必须和else if关键字在同一行
- runtime.GOOS可以用来判断操作系统类型
- 简短方法 := 声明的变量的作用域只存在于 if 结构,会覆盖外面的定义
测试多返回值函数的错误
这个叫 comma,ok模式,之前看其他书的时候没有发觉到这个的好处,以为仅仅是返回多个值而已,但是更加重要的好处是:表示是否执行成功。
- 这个模式基于:程序应该在最接近的位置检查所有相关的错误
错误发生之后,os.Exit()函数可以终止程序的运行
Switch结构
- 改进点是可以接受任何形式的表达式,相对于Java
- 不用特别适用break语句来表示结束,希望继续执行之后的话 使用fallthrough
- 不提供case的值,在condition里面测试
for结构
- 不要在循环体中修改计数器
- for-range类似于foreach,但是for-range可以获得每次迭代所对应的索引
- for-range 索引和值拷贝或者指针拷贝(可以修改原值)
Break和continue
没有什么要关注的
标签于goto
- 标签都是大小写敏感的 但是一般建议全部使用大写字母
- 必须使用goto的情况下,只应该使用正序的(标签位于goto之后) 但是中间不能出现定义新变量的语句,会导致编译失败。
- 总结来说,不建议使用goto因为这样会使代码不好修改。