自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[429970]]

前言

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

運(yùn)算符

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

  • 運(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<<b”是把a(bǔ)的各二進(jìn)位全部左移b位,高位丟棄,低位補(bǔ)0。
>> 右移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

語法

  1. //方式一,一個if 
  2. if 條件{ 
  3.     //執(zhí)行語句 
  4. //方式二,if條件不成功執(zhí)行else 
  5. if 條件{ 
  6.     //if成功語句 
  7. }else
  8.     //if不成功語句 
  9. //方式三,帶有else if得 
  10. if 條件1{ 
  11.     //if成功語句 
  12. }else if 條件2{ 
  13.     //if不成功,繼續(xù)else if條件 
  14. }else
  15.     //上面都不成功,執(zhí)行else 

例子

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.     var gender = "男" 
  7.  
  8.     if gender == "男" { 
  9.         fmt.Println("男"
  10.     } else if gender == "女" { 
  11.         fmt.Println("女"
  12.     } else { 
  13.         fmt.Println("啥都不是???"
  14.   } 

switch case

switch case和if本質(zhì)是一個東西,但是在某些場景,switch是比if更加簡潔的。

代碼

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.     var week = 3 
  7.     switch week { 
  8.     case 1: 
  9.         fmt.Println("周一"
  10.     case 2: 
  11.         fmt.Println("周二"
  12.     case 3: 
  13.         fmt.Println("周三"
  14.     case 4: 
  15.         fmt.Println("周四"
  16.     case 5: 
  17.         fmt.Println("周五"
  18.     case 6: 
  19.         fmt.Println("周六"
  20.     case 7: 
  21.         fmt.Println("周日"
  22.     default://如果上面都沒執(zhí)行,會執(zhí)行default 
  23.         fmt.Println("星期八????"
  24.   } 

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

Go的switch可以case多個值。

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.     var week = 3 
  7.     switch week { 
  8.     case 1, 2, 3, 4, 5: 
  9.         fmt.Println("上班"
  10.     case 6: 
  11.         fmt.Println("周六睡懶覺"
  12.     case 7: 
  13.         fmt.Println("周日去旅游"
  14.     default
  15.         fmt.Println("飛天了???"
  16.   } 

for

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

語法

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

代碼

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.     for i := 0; i < 10; i++ { 
  7.         fmt.Println(i) 
  8.   } 

無限循環(huán)

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

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.     for
  7.         fmt.Println("666"
  8.   } 

for range

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

遍歷數(shù)組示例

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

注:

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

補(bǔ)充:

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

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

goto

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

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

示例

  1. package main 
  2.  
  3. import "fmt" 
  4.  
  5. func main() { 
  6.   for i := 0; i < 10; i++ { 
  7.     for j := 0; j < 10; j++ { 
  8.       if j == 2 { 
  9.         // 直接跳轉(zhuǎn)到下面的 breakTag 標(biāo)簽 
  10.         goto breakTag 
  11.       } 
  12.       fmt.Printf("%v-%v\n", i, j) 
  13.     } 
  14.   } 
  15.   //要跳轉(zhuǎn)的標(biāo)簽 
  16. breakTag: 
  17.   fmt.Println("結(jié)束for循環(huán)"

總結(jié)

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

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

本文轉(zhuǎn)載自微信公眾號「Go語言進(jìn)階學(xué)習(xí)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系Go語言進(jìn)階學(xué)習(xí)公眾號。

 

責(zé)任編輯:武曉燕 來源: Go語言進(jìn)階學(xué)習(xí)
相關(guān)推薦

2025-01-09 11:17:19

2021-04-14 10:00:44

Python運(yùn)算符重載

2020-11-05 09:58:16

Go語言Map

2022-02-16 10:03:06

對象接口代碼

2020-10-22 08:33:22

Go語言

2020-11-11 10:52:54

Go語言C語言

2022-04-27 10:01:43

切片Go封裝

2020-12-30 09:04:32

Go語言TCPUDP

2020-10-25 07:33:13

Go語言

2020-12-09 09:59:32

Go語言技術(shù)

2020-10-23 08:38:19

Go語言

2021-10-09 07:10:31

Go語言基礎(chǔ)

2020-12-27 10:15:44

Go語言channel管道

2020-12-07 05:59:02

語言Go接口

2021-10-30 10:43:04

語言Go函數(shù)

2021-11-03 10:02:07

Go基礎(chǔ)函數(shù)

2021-09-29 10:00:07

Go語言基礎(chǔ)

2021-10-13 10:00:52

Go語言基礎(chǔ)

2020-10-22 11:15:47

Go語言變量

2021-10-16 10:17:51

Go語言數(shù)據(jù)類型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號