<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一篇文章帶你了解Go語言基礎(chǔ)之運(yùn)算符和流程控制

          共 610字,需瀏覽 2分鐘

           ·

          2020-10-30 02:43

          點(diǎn)擊上方“Go語言進(jìn)階學(xué)習(xí)”,進(jìn)行關(guān)注

          回復(fù)“Go語言”即可獲贈Python從入門到進(jìn)階共10本電子書

          其險也如此,嗟爾遠(yuǎn)道之人胡為乎來哉!

          上篇文章中我們學(xué)習(xí)了Go語言基礎(chǔ)中的變量,一篇文章帶你了解Go語言基礎(chǔ)之變量,這篇文章我們繼續(xù)介紹Go語言基礎(chǔ)知識,今天跟大家分享的是基礎(chǔ)數(shù)據(jù)類型之運(yùn)算符和流程控制,一起來學(xué)習(xí)下吧~


          前言

          Hey,大家好呀,我是星期八,這次咱們繼續(xù)學(xué)習(xí)Go基礎(chǔ)之運(yùn)算符和流程控制叭。


          運(yùn)算符

          運(yùn)算符這個名字聽著玄乎,其實(shí)我們平常見的很多了,就像=,+,/之類的。

          運(yùn)算符主要分為

          • 算數(shù)運(yùn)算符

          • 關(guān)系運(yùn)算符

          • 邏輯運(yùn)算符

          • 位運(yùn)算符

          • 賦值運(yùn)算符

          下面就來簡單了解以下叭。


          算數(shù)運(yùn)算符

          算數(shù)運(yùn)算符顧名思義,主要用在算數(shù)中,加減乘除了啥的

          簡單了解以下叭。

          運(yùn)算符描述
          +相加
          -相減
          *相乘
          /相除
          %求余
          ++自加
          --自減


          關(guān)系運(yùn)算符

          運(yùn)算符描述
          ==檢查兩個值是否相等,如果相等返回 True 否則返回 False
          !=檢查兩個值是否不相等,如果不相等返回 True 否則返回 False
          >檢查左邊值是否大于右邊值,如果是返回 True 否則返回 False
          >=檢查左邊值是否大于等于右邊值,如果是返回 True 否則返回 False
          <檢查左邊值是否小于右邊值,如果是返回 True 否則返回 False
          <=檢查左邊值是否小于等于右邊值,如果是返回 True 否則返回 False


          邏輯運(yùn)算符

          運(yùn)算符描述
          &&邏輯 and 運(yùn)算符。 如果兩邊的操作數(shù)都是 True,則為 True,否則為 False
          ||邏輯 or 運(yùn)算符。 如果兩邊的操作數(shù)有一個 True,則為 True,否則為 False
          !邏輯 NOT 運(yùn)算符。 如果條件為 True,則為 False,否則為 True

          注:邏輯運(yùn)算符是很重要的,開發(fā)中經(jīng)常用到。


          位運(yùn)算符

          位運(yùn)算符有些底層,特殊情況會用到

          運(yùn)算符描述
          &參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相與。 (兩位均為1才為1)
          |參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相或。 (兩位有一個為1就為1)
          ^參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相異或,當(dāng)兩對應(yīng)的二進(jìn)位相異時,結(jié)果為1。 (兩位不一樣則為1)
          <<左移n位就是乘以2的n次方。 “a<
          >>右移n位就是除以2的n次方。 “a>>b”是把a(bǔ)的各二進(jìn)位全部右移b位。


          賦值運(yùn)算符

          賦值運(yùn)算符在開發(fā)中用的也是比較多的。

          運(yùn)算符描述
          =簡單的賦值運(yùn)算符,將一個表達(dá)式的值賦給一個左值
          +=相加后再賦值
          -=相減后再賦值
          *=相乘后再賦值
          /=相除后再賦值
          %=求余后再賦值
          <<=左移后賦值
          >>=右移后賦值
          &=按位與后賦值
          |=按位或后賦值
          ^=按位異或后賦值


          流程控制

          在Go中,流程控制有以下幾種。

          • if

            • if

            • switch case

          • for

            • 標(biāo)準(zhǔn)for

            • forrange

          • goto(慎用)


          if

          語法

          //方式一,一個ifif 條件{    //執(zhí)行語句}//方式二,if條件不成功執(zhí)行elseif 條件{    //if成功語句}else{    //if不成功語句}//方式三,帶有else ifif 條件1{    //if成功語句}else if 條件2{    //if不成功,繼續(xù)else if條件}else{    //上面都不成功,執(zhí)行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本質(zhì)是一個東西,但是在某些場景,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://如果上面都沒執(zhí)行,會執(zhí)行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: fmt.Println("周日去旅游") default: fmt.Println("飛天了???") }}


          for

          標(biāo)準(zhǔn)for循環(huán)

          語法

          for 初始條件;判斷條件;結(jié)束條件{    語句}

          代碼

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

          無限循環(huán)

          謹(jǐn)慎執(zhí)行!!!

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

          for range

          for ragne可以很方便循環(huán)數(shù)組,切片,字符串,map,channel等。

          遍歷數(shù)組示例

          package main
          import "fmt"
          func main() { var student_list = [...]string{"張三", "李四", "王五"} for index, v := range student_list { //index為下標(biāo),v是每一個的值 fmt.Println(index, v) }}

          注:

          如果數(shù)組,切片,字符串  index是下標(biāo),v是值如果是map  index是鍵,v是對(值)如果是通道  只有一個值,就是通道內(nèi)的值

          補(bǔ)充:

          在Go中,只有for循環(huán),沒有while。

          for循環(huán)就兩種方式。


          goto

          goto可以通過標(biāo)簽在代碼間無條件跳轉(zhuǎn),這就造成了一個局面,如果使用gote過多,會造成邏輯混亂,跳來跳去。

          所以,在開發(fā)中,要慎用,不到萬不得已,不要使用。


          示例

          package main
          import "fmt"
          func main() { for i := 0; i < 10; i++ { for j := 0; j < 10; j++ { if j == 2 { // 直接跳轉(zhuǎn)到下面的 breakTag 標(biāo)簽 goto breakTag } fmt.Printf("%v-%v\n", i, j) } } //要跳轉(zhuǎn)的標(biāo)簽breakTag: fmt.Println("結(jié)束for循環(huán)")
          }


          總結(jié)

          上述我們學(xué)習(xí)了Go基礎(chǔ)之運(yùn)算符和流程控制。如果在操作過程中有任務(wù)問題,記得下面討論區(qū)留言,我們看到會第一時間解決問題。

          我是碼農(nóng)星期八,如果覺得還不錯,記得動手點(diǎn)贊一下哈。感謝你的觀看。

          -------------------?End?-------------------

          歡迎大家點(diǎn)贊轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入學(xué)習(xí)群請?jiān)诤笈_回復(fù)【入群

          萬水千山總是情,點(diǎn)個【在看】行不行

          瀏覽 61
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色哟哟 精品一区 | 日韩av中文av中文无码 | 亚洲热久久 | 超碰操| 亚洲色情在线视频 |