溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何了解Go語(yǔ)言基礎(chǔ)之運(yùn)算符和流程控制

發(fā)布時(shí)間:2021-10-26 11:47:24 來(lái)源:億速云 閱讀:130 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容介紹了“如何了解Go語(yǔ)言基礎(chǔ)之運(yùn)算符和流程控制”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

運(yùn)算符

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

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

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

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

  • 邏輯運(yùn)算符

  • 位運(yùn)算符

  • 賦值運(yùn)算符

下面就來(lái)簡(jiǎn)單了解以下叭。

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

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

簡(jiǎn)單了解以下叭。

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

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

運(yùn)算符描述
==檢查兩個(gè)值是否相等,如果相等返回 True 否則返回 False
!=檢查兩個(gè)值是否不相等,如果不相等返回 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ù)有一個(gè) True,則為 True,否則為 False
!邏輯 NOT 運(yùn)算符。 如果條件為 True,則為 False,否則為 True

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

位運(yùn)算符

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

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

賦值運(yùn)算符

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

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

流程控制

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

  • if

    • if

    • switch case

  • for

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

    • forrange

  • goto(慎用)

if

語(yǔ)法

//方式一,一個(gè)ifif 條件{    //執(zhí)行語(yǔ)句}//方式二,if條件不成功執(zhí)行elseif 條件{    //if成功語(yǔ)句}else{    //if不成功語(yǔ)句}//方式三,帶有else if得if 條件1{    //if成功語(yǔ)句}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ì)是一個(gè)東西,但是在某些場(chǎng)景,switch是比if更加簡(jiǎn)潔的。

代碼

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://如果上面都沒(méi)執(zhí)行,會(huì)執(zhí)行default        fmt.Println("星期八????")  }}

注:在Go中,switch是沒(méi)有case穿透的。

Go的switch可以case多個(gè)值。

package main
import "fmt"
func main() {    var week = 3    switch week {    case 1, 2, 3, 4, 5:        fmt.Println("上班")    case 6:        fmt.Println("周六睡懶覺(jué)")    case 7:        fmt.Println("周日去旅游")    default:        fmt.Println("飛天了???")  }}

for

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

語(yǔ)法

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

代碼

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

無(wú)限循環(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是每一個(gè)的值        fmt.Println(index, v)  }}

注:

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

補(bǔ)充:

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

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

goto

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

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

示例

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)")
}

“如何了解Go語(yǔ)言基礎(chǔ)之運(yùn)算符和流程控制”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI