成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章帶你了解 Go 語言基礎之運算符和流程控制

大數據 數據分析
我們學習了Go基礎之運算符和流程控制。如果在操作過程中有任務問題,記得下面討論區留言,我們看到會第一時間解決問題。

[[429970]]

前言

Hey,大家好呀,我是星期八,這次咱們繼續學習Go基礎之運算符和流程控制叭。

運算符

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

  • 運算符主要分為
  • 算數運算符
  • 關系運算符
  • 邏輯運算符
  • 位運算符
  • 賦值運算符

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

算數運算符

算數運算符顧名思義,主要用在算數中,加減乘除了啥的

簡單了解以下叭。

運算符 描述
+ 相加
- 相減
* 相乘
/ 相除
% 求余
++ 自加
--

關系運算符  

 

 

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

 

邏輯運算符

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

注:邏輯運算符是很重要的,開發中經常用到。

位運算符

位運算符有些底層,特殊情況會用到

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

賦值運算符

賦值運算符在開發中用的也是比較多的。

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

流程控制

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

  • if
    • if
    • switch case
  • for
    • 標準for
    • forrange
  • goto(慎用)

if

語法

  1. //方式一,一個if 
  2. if 條件{ 
  3.     //執行語句 
  4. //方式二,if條件不成功執行else 
  5. if 條件{ 
  6.     //if成功語句 
  7. }else
  8.     //if不成功語句 
  9. //方式三,帶有else if得 
  10. if 條件1{ 
  11.     //if成功語句 
  12. }else if 條件2{ 
  13.     //if不成功,繼續else if條件 
  14. }else
  15.     //上面都不成功,執行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本質是一個東西,但是在某些場景,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://如果上面都沒執行,會執行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

標準for循環

語法

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

代碼

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

無限循環

謹慎執行!!!

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

for range

for ragne可以很方便循環數組,切片,字符串,map,channel等。

遍歷數組示例

  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為下標,v是每一個的值 
  9.         fmt.Println(index, v) 
  10.   } 

注:

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

補充:

在Go中,只有for循環,沒有while。

for循環就兩種方式。

goto

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

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

示例

  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.         // 直接跳轉到下面的 breakTag 標簽 
  10.         goto breakTag 
  11.       } 
  12.       fmt.Printf("%v-%v\n", i, j) 
  13.     } 
  14.   } 
  15.   //要跳轉的標簽 
  16. breakTag: 
  17.   fmt.Println("結束for循環"

總結

上述我們學習了Go基礎之運算符和流程控制。如果在操作過程中有任務問題,記得下面討論區留言,我們看到會第一時間解決問題。 

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

本文轉載自微信公眾號「Go語言進階學習」,可以通過以下二維碼關注。轉載本文請聯系Go語言進階學習公眾號。

 

責任編輯:武曉燕 來源: Go語言進階學習
相關推薦

2020-10-22 08:33:22

Go語言

2020-11-11 10:52:54

Go語言C語言

2021-04-14 10:00:44

Python運算符重載

2025-01-09 11:17:19

2020-11-05 09:58:16

Go語言Map

2022-02-16 10:03:06

對象接口代碼

2020-12-07 05:59:02

語言Go接口

2021-10-30 10:43:04

語言Go函數

2021-11-03 10:02:07

Go基礎函數

2021-10-09 07:10:31

Go語言基礎

2022-04-27 10:01:43

切片Go封裝

2020-10-23 08:38:19

Go語言

2020-10-25 07:33:13

Go語言

2020-12-09 09:59:32

Go語言技術

2020-12-27 10:15:44

Go語言channel管道

2020-12-30 09:04:32

Go語言TCPUDP

2020-10-22 11:15:47

Go語言變量

2021-09-29 10:00:07

Go語言基礎

2021-10-13 10:00:52

Go語言基礎

2021-10-16 10:17:51

Go語言數據類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品久久久久久久久久入口 | 成人在线网| 亚洲精品久久久久久久不卡四虎 | 久在线 | 亚洲精品乱码8久久久久久日本 | 欧美另类视频 | 国产xxxx岁13xxxxhd | 国产精品一区二区久久 | 午夜激情视频 | 天堂av中文在线 | 久久久久成人精品 | 99re视频在线 | 午夜免费观看体验区 | 国产一区二区精品在线 | 夜夜爽99久久国产综合精品女不卡 | 蜜桃视频成人 | 国产福利91精品一区二区三区 | 久久精品国产一区老色匹 | 成人性视频在线 | 久久国产精品免费一区二区三区 | 日本特黄a级高清免费大片 特黄色一级毛片 | 欧美色a v | 国产精品永久免费观看 | 亚洲国产高清在线观看 | 在线高清免费观看视频 | 亚洲一区二区三区在线视频 | 免费性视频 | 国产三级在线观看播放 | 97伦理最新伦理 | 天天干天天爱天天操 | 综合成人在线 | 日韩在线一区二区三区 | 国产在线精品一区二区 | 国产一级在线视频 | 精品久久久久久久久亚洲 | 欧美一级高清片 | 91中文字幕 | 黑人精品欧美一区二区蜜桃 | 国产精品久久久久久福利一牛影视 | 久久伊人精品 | 日韩中文一区二区三区 |