美文网首页
Golang学习笔记4——控制语句

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

作者: MarksGui | 来源:发表于2017-10-22 16:30 被阅读13次

    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学习笔记4——控制语句

          本文链接:https://www.haomeiwen.com/subject/nutnuxtx.html