Go 控制语句(Go中文读书笔记)

 

Go 中只有很少几个结构控制。没有do或者while循环 只有for、switch、if还有叫做类型选择和多路通信转接器select 与其他语言比较是没有圆括号、而语句体必须总是包含在大括号内

 

if x >0 {

return x

} else {

return y

}

强制大括号鼓励将简单的if语句写在多行上。

 

if和switch 接受初始化语句。通常设置一个局部变量 

 

if err := file.Chmod(0664); err !=nil {

log.Stderr(err)

return err

}

 

在Go 语法中是非法的

 

if err != nil 

{

 

}

 

在if函数中有一个Bug

 

if err != nil  {

return err

} else {

return nil

}

 

 

它不会编译。这是Go编译的一个Bug

 

Go 有goto语句 

 

fund myfunc() {

i  := 0

 

Here:

println(i)

i++

  goto Here

}

 

Go中标签大小写是敏感的。

 

 

Go中for循环有三种形式。只有一种是使用分号分隔的

 

for init; condition; post {}  //原始的for循环

 

for condition {} //和while一样

 

for {} // 死循环

 

保留字range 可用于循环。它可以在slice 、array、 string、 channel 。range就是一个迭代器。

当被调用的时候。从循环内容中取一个键值对。基于不同的内容,range返回的东西不同。

 

list := []string{"a","b","c","d","e","f"}

 

for k,v := range list {

//循环 k为下标 v为值

}

 

 

Go 的switch 的表达式不必是常量或者整数,可以是表达式等。默认就是if-else-if-else 判断序列。

没有关键词 break 自动默认截断 如果要继续执行就使用关键词 fallthrough

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值