ホームページ  >  記事  >  バックエンド開発  >  Go 言語の演算子とプロセス制御の基本を理解するのに役立つ記事

Go 言語の演算子とプロセス制御の基本を理解するのに役立つ記事

Go语言进阶学习
Go语言进阶学习転載
2023-07-19 15:05:24815ブラウズ

演算子

演算子という名前は神秘的に聞こえますが、実際には、 = のように、もっと頻繁に目にします。 #########、######### #########、#########/######### カテゴリー。 #演算子は主に 算術演算子 関係演算子

#論理演算子

  • #ビット演算子

  • 代入演算子

  • 以下は簡単です。 以下について学習します。

  • 算術演算子
  • 名前が示すように、算術演算子は主に加算、減算、乗算などの算術で使用されます。分割### ######

    以下のことを簡単に理解してください。

    #-#残りを探します自add##--# ###############################

    関係演算子

    #オペレータ ##説明# #################### #################追加######## ####
    減算 ######*##################かける################## ###### /############分割######################%########### ###
    自動デクリメント
    ##! = #2 つの値が等しくないかどうかを確認し、等しくない場合は True を返し、等しくない場合は False を返します>左側の値が上の値より大きいかどうかを確認します右、そうであれば True を返し、それ以外の場合は False を返しますn ビット右シフトそれは2のn乗で割られます。 「a>>b」は、a のすべての 2 進ビットを右に b ビットだけシフトします。

    代入演算子

    代入演算子は開発でもよく使用されます。

    ##演算子 説明
    ##== 2 つの値が等しいかどうかを確認し、等しい場合は True を返し、そうでない場合は False を返します
    #>= 左側の値が次の値より大きいかどうかを確認します。右側の値と等しい場合は True を返し、それ以外の場合は False を返します
    2f54a1cfa59261e9ef4def0a883b8f6a>
    #=単純な代入演算子、式を変換します。 の値を代入します。式を左辺値に =代入加算後の値##-=##*=#%=534b02e35f49433957da6e3ba215f0b4>=&==ビットごとの XOR 後の代入

    プロセス制御

    Go では、次の種類のプロセス制御があります。

    • #if

      • ##if

      • ケースを切り替える

      • #標準の
      • ##範囲
      • ##goto(使用には注意してください)
    • if


    構文

    //方式一,一个if
    if 条件{
        //执行语句
    }
    //方式二,if条件不成功执行else
    if 条件{
        //if成功语句
    }else{
        //if不成功语句
    }
    //方式三,带有else if得
    if 条件1{
        //if成功语句
    }else if 条件2{
        //if不成功,继续else if条件
    }else{
        //上面都不成功,执行else
    }
    # ########例#########
    package main
    
    import "fmt"
    
    func main() {
        var gender = "男"
    
        if gender == "男" {
            fmt.Println("男")
        } else if gender == "女" {
            fmt.Println("女")
        } else {
            fmt.Println("啥都不是???")
      }
    }

    switch case

    switch caseif本质是一个东西,但是在某些场景,switch是比if更加简洁的。

    代码

    package main
    
    import "fmt"
    
    func main() {
        var week = 3
        switch week {
        case 1:
            fmt.Println("周一")
        case 2:
            fmt.Println("周二")
        case 3:
            fmt.Println("周三")
        case 4:
            fmt.Println("周四")
        case 5:
            fmt.Println("周五")
        case 6:
            fmt.Println("周六")
        case 7:
            fmt.Println("周日")
        default://如果上面都没执行,会执行default
            fmt.Println("星期八????")
      }
    }

    注:在Go中,switch是没有case穿透的。

    Go的switch可以case多个值。

    package main
    
    import "fmt"
    
    func main() {
        var week = 3
        switch week {
        case 1, 2, 3, 4, 5:
            fmt.Println("上班")
        case 6:
            fmt.Println("周六睡懒觉")
        case 7:

    for

    标准for循环

    语法

    for 初始条件;判断条件;结束条件{
        语句
    }

    代码

    package main
    
    import "fmt"
    
    func main() {
        for i := 0; i < 10; i++ {
            fmt.Println(i)
      }
    }

    无限循环

    谨慎执行!!!

    package main
    
    import "fmt"
    
    func main() {
        for{
            fmt.Println("666")
      }
    }

    for range

    for ragne可以很方便循环数组,切片,字符串,map,channel等。

    遍历数组示例

    package main
    
    import "fmt"
    
    func main() {
        var student_list = [...]string{"张三", "李四", "王五"}
        for index, v := range student_list {
            //index为下标,v是每一个的值
            fmt.Println(index, v)
      }
    }

    注:

    如果数组,切片,字符串
      index是下标,v是值
    如果是map
      index是键,v是对(值)
    如果是通道
      只有一个值,就是通道内的值

    补充:

    在Go中,只有for循环,没有while。

    for循环就两种方式。

    goto

    goto可以通过标签在代码间无条件跳转,这就造成了一个局面,如果使用gote过多,会造成逻辑混乱,跳来跳去。

    所以,在开发中,要慎用,不到万不得已,不要使用。

    示例

    package main
    
    import "fmt"
    
    func main() {
      for i := 0; i < 10; i++ {
        for j := 0; j < 10; j++ {
          if j == 2 {
            // 直接跳转到下面的 breakTag 标签
            goto breakTag
          }
          fmt.Printf("%v-%v\n", i, j)
        }
      }
      //要跳转的标签
    breakTag:
      fmt.Println("结束for循环")
    #オペレータ ##説明
    減算後、代入値
    ## 乗算して値を代入します
    #/= ##除算して値を代入します
    ##剰余を求めて値を割り当てます
    右シフト後に値を割り当てます
    ##ビット単位の AND 後の代入 |
    ##ビットごとの OR 後の代入
    ##^=

以上がGo 言語の演算子とプロセス制御の基本を理解するのに役立つ記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はGo语言进阶学习で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。