Go基础知识-05 指针类型、流程控制、函数(持续更新)

1.指针类型

  1. 普通类型,变量存的就是值,也叫值类型
    整数类型: int8、int16等等
    浮点类型:float32、float64
    布尔类型:bool
    复数类型: complex64、complex128
    字符串类型: string
    字符类型: byte、rune

  2. 获取变量的地址,用&,比如: var a int, 获取a的地址:&a

    a := 2
     &a 
  3. 指针类型,变量存的是一个地址,这个地址存的才是值
  4. 获取指针类型所指向的值,使用:*,比如:var *p int, 使用*p获取p指向的值

流程控制

  1. If / else分支判断

    if condition1 {
     }
    
    if condition1 {
    } else {
    }
    
    if condition1 {
    } else if condition2 {
    } else if condition3 {

    } else {
    }
    
  2. switch case语句

    • 写法一

      switch var {
      case var1:
      case var2:
      case var3:
      default:
      }
    • 写法二

      var i = 0
      switch i {
      case 0:
              fallthrough
      case 1:
            fmt.Println(“1”)
      case 2:
      fmt.Println(“2”)
      default:
           fmt.Println(“def”)
      }
    • 写法三

      var i = 0
      switch i {
      case 0, 1:
            fmt.Println(“1”)
      case 2:
      fmt.Println(“2”)
      default:
           fmt.Println(“def”)
      }
    • 写法4

      var i = 0
      switch {
      condition1:
        fmt.Println(“i > 0 and i < 10”)
      condition2:
      fmt.Println(“i > 10 and i < 20”)
      default:
       fmt.Println(“def”)
      }
    • 写法5

      switch i := 0 {
      case i > 0 && i < 10:
      fmt.Println(“i > 0 and i < 10”)
      case i > 10 && i < 20:
      fmt.Println(“i > 10 and i < 20”)
      default:
       fmt.Println(“def”)
      }
  3. for

    • 写法一

          for  条件 {
           }
      
    • 写法二

      for i > 0 {
      fmt.Println(“i > 0”)
      }
      
  4. for range 语句(用来遍历数组、slice、map、chan)

        str := “hello world,中国”
         for i, v := range str {
          fmt.Printf(“index[%d] val[%c] len[%d]\n”, i, v, len([]byte(v)))
      }
    
  5. break continue语句

    str := “hello world,中国”
    for i, v := range str {
       if i > 2 {
             continue
       }
    if (i > 3) {
         break
}
     fmt.Printf(“index[%d] val[%c] len[%d]\n”, i, v, len([]byte(v)))
    }
    
  6. goto 和 label 语句

    package main
    import "fmt"
    func main() {
    LABEL1:
        for i := 0; i <= 5; i++ {
            for j := 0; j <= 5; j++ {
                if j == 4 {
                    continue LABEL1
                }
                fmt.Printf("i is: %d, and j is: %d\n", i, j)
            }
        }
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值