设为首页 加入收藏

TOP

Golang学习笔记4——控制语句
2017-10-23 06:06:50 】 浏览:216
Tags:Golang 学习 笔记 控制 语句

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 配合标签使用

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Golang学习笔记2——类型与变量 下一篇Golang学习笔记3——常量与运算符

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目