好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Go語言range關鍵字循環時的坑

Go語言range關鍵字循環時的坑

熱門標簽:江西轉化率高的羿智云外呼系統 中國地圖標注省會高清 廣州呼叫中心外呼系統 西部云谷一期地圖標注 地圖標注的汽車標 學海導航地圖標注 南通如皋申請開通400電話 浙江高速公路地圖標注 高德地圖標注口訣

關鍵字range可用于循環,類似迭代器操作,它可以遍歷slice,array,string,mapchannel,然后返回索引或值。可以使用”_”來忽略不想要的返回值。可以方便的讀取上面類型中的內容,例如:

package main
import "fmt"
func main() {
  str1 := []string{"1", "2", "3", "4"}
  for key, value := range str1 {
    fmt.Println(key, ":", value)
  }
}

但是如果想要改變這些類型的值,用range就可能達不到你期望的效果。例如,將上面str1中的值”2”和”4”變為”6”,使用range來進行遍歷修改。

package main
import "fmt"
func main() {
  str1 := []string{"1", "2", "3", "4"}
  for _, value := range str1 {
    if value == "2" || value == "4" {
      value = "6"
    }
  }
  fmt.Println(str1)
}

你可能覺得結果會是[1 6 3 6],但執行后卻是[1 2 3 4]。也就是說在range中對切片進行操作,并沒有影響到切片(原切片)。

出現上述問題的原因是因為for range遍歷的內容是對原內容的一個拷貝,所以不能用來修改原切片中內容。

修改方法:

使用for語句

package main
import "fmt"
func main() {
  str1 := []string{"1", "2", "3", "4"}
  for i := 0; i  len(str1); i++ {
    if str1[i] == "2" || str1[i] == "4" {
      str1[i] = "6"
    }
  }
  fmt.Println(str1)
}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • 手把手帶你走進Go語言之循環語句
  • Go語言for range(按照鍵值循環)遍歷操作
  • Go語言流程控制之goto語句與無限循環
  • 深入解析Go語言中for循環的寫法
  • Go語言模擬while語句實現無限循環的方法
  • Go語言之fo循環與條件判斷

標簽:吐魯番 保定 貴州 許昌 曲靖 常州 東營 德宏

巨人網絡通訊聲明:本文標題《Go語言range關鍵字循環時的坑》,本文關鍵詞  語言,range,關鍵字,循環,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言range關鍵字循環時的坑》相關的同類信息!
  • 本頁收集關于Go語言range關鍵字循環時的坑的相關信息資訊供網民參考!
  • 推薦文章