分享
  1. 首页
  2. 文章

Golang学习笔记4——控制语句

marks-gui · · 1364 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

1.基础知识补充(指针、递增递减语句)

指针

go虽然保留了指针,但是与其它编程语言不同的是,在go当中不支持指针运算以及"->"运算符,而直接采用"." 选择符来操作指针目标对象的成员

  • 操作符"&"取变量地址,使用"*"通过指针间接访问目标对象
  • 默认值为nil而非null

在go中,++与--是作为语句而并不是作为表达式

a := 1
a++
//但不能这样:a := a++,只能作为单独的语句独占一行

2.if判断语句

  • 条件表达式没有括号

  • 支持一个初始化表达式(可以是并行方式)

  • 左大括号必须和条件语句或else在同一行

  • 支持单行模式

  • 初始化语句中的变量为block级别,同时隐藏外部同名变量

func main(){
 a := 10
 if a:=1 {
 fmt.Println(a)
 }
 fmt.Println(a) 
}
//输出为: 1 10

3.for循环语句

  • go只有for一个循环语句关键字,但支持3种形式
//第一种(同其他语言的while true {}):
func main() {
 a := 1
 for {
 a++
 if a > 3{
 break
 }
 }
 fmt.Println(a)
}
//第二种(同其他语言的:while a <= 3 {}): 
func main() {
 a := 1
 for a <= 3 {
 a++
 }
 fmt.Println(a)
}
//第三种:
func main() {
 a := 1
 for i := 0; i <= 3; i++ {
 a++
 }
 fmt.Println(a)
}
  • 初始化和步进表达式可以是多个值

4.switch选择语句

go语言中无须对每个case手动书写break以阻止程序继续向下匹配。如果要达到继续匹配的目的可以使用关键字:fallthrough

func main() {
 a := 1
 switch a {
 case 0:
 fmt.Println("a=0")
 case 1:
 fmt.Println("a=1")
 }
 fmt.Println(a)
}
 
func main() {
 a := 1
 switch {
 case a >= 0:
 fmt.Println("a=0")
 fallthrough
 case a >= 1:
 fmt.Println("a=1")
 }
 fmt.Println(a)
}
//此时a的作用域只在switch表达式之内
func main() {
 
 switch a := 1 {
 case a >= 0:
 fmt.Println("a=0")
 fallthrough
 case a >= 1:
 fmt.Println("a=1")
 }
 fmt.Println(a)
}

5.跳转语句

break、continue、goto 配合标签使用


有疑问加站长微信联系(非本文作者)

本文来自:博客园

感谢作者:marks-gui

查看原文:Golang学习笔记4——控制语句

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1364 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏