<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Golang基礎筆記六之流程控制

      本文首發于公眾號:Hunter后端

      原文鏈接:Golang基礎筆記六之流程控制

      本篇筆記介紹 Golang 里流程控制相關的一些語法,以下是本篇筆記目錄:

      1. 條件語句
      2. 循環語句

      1、條件語句

      1. if-else 語句

      if-else 語句的基本語法如下:

      if condition {
      }else if condition {
      }else {
      }
      

      下面是一個示例:

      num := 10
      if num <= 5 {
          fmt.Println("num 小于等于 5")
      } else if num > 5 && num <= 10 {
          fmt.Println("num 大于 5 小于等于 10")
      } else {
          fmt.Println("num 大于 10")
      }
      

      if 語句中,還可以包含一個初始化語句,用于條件判斷之前執行一些操作:

      if num := 10; num <= 5 {
          fmt.Println("num 小于等于 5")
      } else if num > 5 && num <= 10 {
          fmt.Println("num 大于 5 小于等于 10")
      } else {
          fmt.Println("num 大于 10")
      }
      

      注意:這里 num 這個變量的作用域僅限于 if-else 塊。

      這里的 if-else 語句,除了最開始的 if 語句是必需的外,后面的 else-if 和 else 模塊都是可選的。

      2. switch 語句

      switch 語句有兩種形式,一種是表達式 switch,一種是類型 switch。

      1. 表達式 switch

      下面這個示例是基于表達式的值來執行不同的模塊:

      day := 4
      switch day {
      case 1, 2, 3, 4, 5:
          fmt.Println("工作日")
      case 6:
          fmt.Println("星期六")
      case 7:
          fmt.Println("星期日")
      default:
          fmt.Println("非法星期數")
      }
      

      下面這個示例是無表達式的,其效果等同于 if-else 語句:

      score := 80
      switch {
      case score >= 90:
          fmt.Println("優秀")
      case score >= 80:
          fmt.Println("良好")
      case score >= 70:
          fmt.Println("一般")
      default:
          fmt.Println("差勁")
      }
      
      2. 類型 switch

      類型 switch 用于根據變量的類型來執行不同的代碼塊,通常用于處理接口類型的變量,接口相關的內容后面再介紹,這里先直接使用,使用方式和前面的 switch 類似:

      func printType(i interface{}) {
          switch v := i.(type) {
          case int:
              fmt.Printf("%v 是整數類型\n", v)
          case string:
              fmt.Printf("%v 是字符串類型\n", v)
          default:
              fmt.Printf("%v 是其他類型\n", v)
          }
      }
      
      func main() {
          num := 10
          str := "hello"
          printType(num)
          printType(str)
      }
      

      2、循環語句

      循環語句就是 for 循環操作了,這里介紹幾種類型:

      1. for 循環

      for 循環的用法和其他語言的類似,比如從 0 循環到 4:

      for i := 0; i < 5; i++ {
          fmt.Printf("i:%v\n", i)
      }
      

      2. for-range 循環

      for-range 循環可用于數組、切片、字符串、map 等可迭代對象,循環的參數又兩個,分別是索引和對應的元素。

      這里逐個介紹其示例:

      1) 數組/切片

      數組或者切片的示例如下:

      s := []string{"a", "b", "c"}
      for index, value := range s {
          fmt.Printf("index: %v, value: %v\n", index, value)
      }
      

      前面的 index 是索引下標,value 是下標對應的值。

      如果不需要 index 或者 value,直接置為 "_" 即可:

      s := []string{"a", "b", "c"}
      for _, value := range s {
          fmt.Printf("value: %v\n", value)
      }
      
      2) 字符串

      對字符串是用 for-range 返回的索引是字節索引:

      s := "hello world"
      for index, char := range s {
          fmt.Printf("index:%d, char:%c\n", index, char)
      }
      

      而如果字符串中包含中文,Go 能夠將其自動解碼,且返回中文字符開始的字節索引位置:

      s2 := "hello 世界"
      for index, char := range s2 {
          fmt.Printf("index:%d, char:%c\n", index, char)
      }
      
      3) map

      對 map 使用 for-range 操作會迭代其 key-value:

      m := map[string]int{
          "a": 1,
          "b": 4,
          "c": 2,
      }
      
      for k, v := range m {
          fmt.Printf("k:%s, v:%d\n", k, v)
      }
      

      3. 無限循環

      對于前面的 for 循環,如果我們不設置任何條件,就可以實現一個無限循環,可以在內部通過 continue 和 break 來控制進入下一次循環或者退出循環。

      以下是一個示例:

      i := 0
      for {
          i++
          if i%2 == 0 {
              fmt.Println("i 是偶數", i)
              continue
          }
      
          if i == 5 {
              fmt.Println("i = 5, 退出循環")
              break
          }
      }
      
      posted @ 2025-06-27 22:44  XHunter  閱讀(300)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色就色偷拍综合一二三区| 亚洲av日韩av永久无码电影| 国产亚洲精品中文字幕| 亚洲高潮喷水无码AV电影| 亚洲码和欧洲码一二三四| 国产91精选在线观看| 国产精品午夜福利在线观看| 国产无遮挡裸体免费视频在线观看| 日韩美女一区二区三区视频 | 国产拗精品一区二区三区| 国产第一页浮力影院入口| 亚洲高潮喷水无码AV电影 | 国产精自产拍久久久久久蜜| 泾源县| 亚洲一区二区精品另类| 亚洲国内精品一区二区| 国产揄拍国产精品| 日韩av一区二区精品不卡| 国产亚洲精品在av| 亚洲高请码在线精品av| 临武县| 国产精品午夜福利91| 欧美一区二区三区成人久久片| 大伊香蕉精品一区二区| 国产婷婷精品av在线| 国产成人精品一区二区三区| 日本一本无道码日韩精品| 日夜啪啪一区二区三区| 国产精品老熟女露脸视频| 久久精品夜色国产亚洲av| 老熟妇性老熟妇性色| 久久国内精品自在自线观看| 久久午夜无码鲁丝片直播午夜精品| 亚洲欧美人成网站在线观看看| 国产永久免费高清在线| 欧美成人精品手机在线| 91孕妇精品一区二区三区| 777奇米四色成人影视色区| 大胸美女被吃奶爽死视频| 久爱无码精品免费视频在线观看| 亚洲制服无码一区二区三区|