最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言range關(guān)鍵字循環(huán)時(shí)的坑

 更新時(shí)間:2019年03月07日 16:58:52   作者:benben_2015  
今天小編就為大家分享一篇關(guān)于Go語言range關(guān)鍵字循環(huán)時(shí)的坑,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

關(guān)鍵字range可用于循環(huán),類似迭代器操作,它可以遍歷slice,array,string,mapchannel,然后返回索引或值??梢允褂谩盻”來忽略不想要的返回值??梢苑奖愕淖x取上面類型中的內(nèi)容,例如:

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

但是如果想要改變這些類型的值,用range就可能達(dá)不到你期望的效果。例如,將上面str1中的值”2”和”4”變?yōu)椤?”,使用range來進(jìn)行遍歷修改。

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

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

出現(xiàn)上述問題的原因是因?yàn)?code>for range遍歷的內(nèi)容是對(duì)原內(nèi)容的一個(gè)拷貝,所以不能用來修改原切片中內(nèi)容。

修改方法:

使用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)
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Golang開發(fā)中常用的代碼片段匯總

    Golang開發(fā)中常用的代碼片段匯總

    這篇文章主要給大家匯總了在Golang開發(fā)中常用的代碼片段,這些代碼片段都是在日常工作中編寫golang應(yīng)用時(shí)使用到,需要的朋友可以參考借鑒,下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • Golang中的new()和make()函數(shù)本質(zhì)區(qū)別

    Golang中的new()和make()函數(shù)本質(zhì)區(qū)別

    在 Go 語言開發(fā)中,new() 和 make() 是兩個(gè)容易讓開發(fā)者感到困惑的內(nèi)建函數(shù),盡管它們都用于內(nèi)存分配,但其設(shè)計(jì)目的、適用場景和底層實(shí)現(xiàn)存在本質(zhì)差異,本文將通過類型系統(tǒng)、內(nèi)存模型和編譯器實(shí)現(xiàn)三個(gè)維度,深入解析這兩個(gè)函數(shù)的本質(zhì)區(qū)別,感興趣的朋友一起看看吧
    2025-02-02
  • Golang中定時(shí)器的陷阱詳解

    Golang中定時(shí)器的陷阱詳解

    這篇文章主要給大家介紹了關(guān)于Golang中定時(shí)器陷阱的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用golang具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • Go如何優(yōu)雅的關(guān)閉goroutine協(xié)程

    Go如何優(yōu)雅的關(guān)閉goroutine協(xié)程

    本文將介紹首先為什么需要主動(dòng)關(guān)閉goroutine,并介紹如何在Go語言中關(guān)閉goroutine的常見套路,包括傳遞終止信號(hào)和協(xié)程內(nèi)部捕捉終止信號(hào),之后,文章列舉了需要主動(dòng)關(guān)閉協(xié)程運(yùn)行的常見場景,希望通過本文的介紹,讀者能夠掌握如何在適當(dāng)?shù)臅r(shí)候關(guān)閉goroutine
    2023-05-05
  • 淺析Go語言中Channel的各種用法

    淺析Go語言中Channel的各種用法

    這篇文章主要帶大家一起來學(xué)習(xí)一下Go語言中的if語句,也就是大家口中的判斷語句。文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語言有一定幫助,需要的可以參考一下
    2022-11-11
  • Go指針內(nèi)存與安全性深入理解

    Go指針內(nèi)存與安全性深入理解

    這篇文章主要為大家介紹了Go指針內(nèi)存與安全性深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Go中strings包的基本使用示例代碼

    Go中strings包的基本使用示例代碼

    本文詳細(xì)介紹了Go語言中strings包的基本使用方法,包括字符串的前綴、后綴判斷,字符串包含、索引查找、字符串替換、計(jì)數(shù)、重復(fù)、大小寫轉(zhuǎn)換、修剪、分割、拼接以及數(shù)據(jù)類型轉(zhuǎn)換等功能,示例代碼豐富,適合初學(xué)者和需要使用字符串處理功能的開發(fā)者參考學(xué)習(xí)
    2024-10-10
  • go格式“占位符”輸入輸出 類似python的input

    go格式“占位符”輸入輸出 類似python的input

    這篇文章主要介紹了go格式“占位符”, 輸入輸出,類似python的input,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • go實(shí)現(xiàn)冒泡排序的示例代碼

    go實(shí)現(xiàn)冒泡排序的示例代碼

    這篇文章主要介紹了go實(shí)現(xiàn)冒泡排序的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • go語法入門泛型type?parameters簡稱T(類型形參)兩種場景使用

    go語法入門泛型type?parameters簡稱T(類型形參)兩種場景使用

    這篇文章主要為大家介紹了go語法入門泛型type?parameters簡稱T(類型形參)兩種場景使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09

最新評(píng)論

山东| 宁波市| 阿瓦提县| 临桂县| 屯留县| 牡丹江市| 南阳市| 兴义市| 九龙坡区| 海淀区| 常熟市| 扶沟县| 晴隆县| 卓尼县| 宿州市| 兴隆县| 阜城县| 高清| 涟水县| 柏乡县| 昌宁县| 安仁县| 林周县| 信宜市| 那曲县| 巩留县| 达州市| 大化| 揭西县| 富民县| 襄城县| 菏泽市| 囊谦县| 上饶县| 松潘县| 汽车| 甘肃省| 班玛县| 余庆县| 东阳市| 清水河县|