go学习第三天

go
变量使用 var 开头,常量使用const开头,var可以省略 const不能省略,且在声明的时候就给出值。

iota 是一个特殊的常量,在const中每新增加一行,自增一(类似一个行计数器):

 const (
            a = iota   //0
            b          //1
            c          //2
            d = "ha"   //独立值,iota += 1
            e          //"ha"   iota += 1
            f = 100    //iota +=1
            g          //100  iota +=1
            h = iota   //7,恢复计数
            i          //8
    )

运算符包括:
算术运算:+ - * / % ++ --
关系运算: > < == != >= <=
逻辑运算:&& || !
位运算 : & | ^ >> <<
赋值运算: = += -= *= /= %= <<= >>= &= |= ^=
取地址和取值运算:& *


条件表达式:

1、if 布尔表达式 {
}

2、if 布尔表达式 {
if 布尔表达式 {
}
}
3、if 布尔表达式{
}else{
}

4、switch var1 {
case val1:
...
case val2:
...
default:
...
}
switch 条件是可选的,可以去掉,如以上的var1可以省略。
switch还可以多条件匹配,如:
switch{
case 1,2,3,4:
....
default:
.....
}
switch语句里,每个case后不需要break,匹配到一个case后其后的case自动跳过,不执行。如果想要执行后面的case可以在当前case的最后加上“fallthrough"
举例:

switch {
    case false:
            fmt.Println("1、case 条件语句为 false")
            fallthrough
    case true:
            fmt.Println("2、case 条件语句为 true")
             if ... {                            
                break                   //这种情况下break执行后,下面的case就不会执行了
            }
            fallthrough
    case false:
            fmt.Println("3、case 条件语句为 false")
            fallthrough
    case true:
            fmt.Println("4、case 条件语句为 true")
    case false:
            fmt.Println("5、case 条件语句为 false")
            fallthrough
    default:
            fmt.Println("6、默认 case")
    }

以上执行结果为:
2、case 条件语句为 true
3、case 条件语句为 false
4、case 条件语句为 true

Type Switch 是switch的特殊情况,用于对一个接口类型进行判断。举例如下:

func main() {
   var x interface{}
     
   switch i := x.(type) {
      case nil:   
         fmt.Printf(" x 的类型 :%T",i)                
      case int:   
         fmt.Printf("x 是 int 型")                       
      case float64:
         fmt.Printf("x 是 float64 型")           
      case func(int) float64:
         fmt.Printf("x 是 func(int) 型")                      
      case bool, string:
         fmt.Printf("x 是 bool 或 string 型" )       
      default:
         fmt.Printf("未知型")     
   }   
}

你可能感兴趣的:(go学习第三天)