欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法小結(jié)

 更新時(shí)間:2016年10月09日 09:15:19   作者:steveye  
這篇文章主要給大家介紹了Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的兩種方法,分別是在for循環(huán)的range中以及在函數(shù)的參數(shù)傳遞中實(shí)現(xiàn),有需要的朋友們可以根據(jù)自己的需要選擇使用。下面來(lái)一起看看吧。

前言

在所有編程語(yǔ)言中都涉及到大量的字符串操作,可見熟悉對(duì)字符串的操作是何等重要。本文通過示例詳細(xì)介紹了Go語(yǔ)言實(shí)現(xiàn)字符串切片賦值的方法,感興趣的朋友們跟著小編一起來(lái)看看吧。

1. 在for循環(huán)的range中

func StrRangeTest() {
  str := []string{"str1", "str2", "str3"}
  for i, v := range str {
   fmt.Println(i, v)
   v = "test"
  }
  fmt.Println(str)}

結(jié)果:對(duì)v的賦值,不會(huì)改變字符創(chuàng)切片的值。

0 str1
1 str2
2 str3
[str1 str2 str3]

結(jié)論:range是賦值拷貝

2. 在函數(shù)的參數(shù)傳遞

func Handler() {
  strArr := []string{"str1", "str2", "str3"}
   fmt.Println("before call func:", strArr)
  strFuncTest(strArr)
  fmt.Println("after call func:", strArr)
}

func strFuncTest(strArr []string) {
  strArr[0] = "test"
}

結(jié)果:函數(shù)中對(duì)字符串切片的賦值,會(huì)改變?cè)衅闹怠?/p>

[str1 str2 str3]
[test str2 str3]

結(jié)論:函數(shù)參數(shù)的傳遞是傳指針

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • Go語(yǔ)言之io.ReadAtLeast函數(shù)的基本使用和原理解析

    Go語(yǔ)言之io.ReadAtLeast函數(shù)的基本使用和原理解析

    io.ReadAtLeast函數(shù)是Go語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供的一個(gè)工具函數(shù),能夠從數(shù)據(jù)源讀取至少指定數(shù)量的字節(jié)數(shù)據(jù)到緩沖區(qū)中,這篇文章主要介紹了io.ReadAtLeast函數(shù)的相關(guān)知識(shí),需要的朋友可以參考下
    2023-07-07
  • Golang中errgroup的常見誤用詳解

    Golang中errgroup的常見誤用詳解

    errgroup和sync.WaitGroup類似,都可以發(fā)起執(zhí)行并等待一組協(xié)程直到所有協(xié)程運(yùn)行結(jié)束,本文主要為大家整理了一些errgroup的常見誤用,有需要的可以參考下
    2024-01-01
  • 源碼剖析Golang中map擴(kuò)容底層的實(shí)現(xiàn)

    源碼剖析Golang中map擴(kuò)容底層的實(shí)現(xiàn)

    之前的文章詳細(xì)介紹過Go切片和map的基本使用,以及切片的擴(kuò)容機(jī)制。本文針對(duì)map的擴(kuò)容,會(huì)從源碼的角度全面的剖析一下map擴(kuò)容的底層實(shí)現(xiàn),需要的可以參考一下
    2023-03-03
  • golang?channel多協(xié)程通信常用方法底層原理全面解析

    golang?channel多協(xié)程通信常用方法底層原理全面解析

    channel?是?goroutine?與?goroutine?之間通信的重要橋梁,借助?channel,我們能很輕易的寫出一個(gè)多協(xié)程通信程序,今天,我們就來(lái)看看這個(gè)?channel?的常用用法以及底層原理
    2023-09-09
  • 一步步教你編寫可測(cè)試的Go語(yǔ)言代碼

    一步步教你編寫可測(cè)試的Go語(yǔ)言代碼

    相信每位編程開發(fā)者們應(yīng)該都知道,Golang作為一門標(biāo)榜工程化的語(yǔ)言,提供了非常簡(jiǎn)便、實(shí)用的編寫單元測(cè)試的能力。本文通過Golang源碼包中的用法,來(lái)學(xué)習(xí)在實(shí)際項(xiàng)目中如何編寫可測(cè)試的Go代碼。有需要的朋友們可以參考借鑒,下面跟著小編一起去學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • Go 1.23中Timer無(wú)buffer的實(shí)現(xiàn)方式詳解

    Go 1.23中Timer無(wú)buffer的實(shí)現(xiàn)方式詳解

    在 Go 1.23 中,Timer 的實(shí)現(xiàn)通常是通過 time 包提供的 time.Timer 類型來(lái)實(shí)現(xiàn)的,本文主要介紹了Go 1.23中Timer無(wú)buffer的實(shí)現(xiàn)方式,需要的可以了解下
    2025-03-03
  • 使用Go語(yǔ)言連接和操作數(shù)據(jù)庫(kù)的基本步驟

    使用Go語(yǔ)言連接和操作數(shù)據(jù)庫(kù)的基本步驟

    在Go語(yǔ)言中,連接和操作數(shù)據(jù)庫(kù)通常使用database/sql包,它提供了一個(gè)數(shù)據(jù)庫(kù)抽象層,支持多種數(shù)據(jù)庫(kù)引擎,如MySQL、PostgreSQL、SQLite等,下面我將以MySQL為例,詳細(xì)講解如何使用Go語(yǔ)言連接和操作數(shù)據(jù)庫(kù),需要的朋友可以參考下
    2024-06-06
  • Go垃圾回收提升內(nèi)存管理效率優(yōu)化最佳實(shí)踐

    Go垃圾回收提升內(nèi)存管理效率優(yōu)化最佳實(shí)踐

    這篇文章主要為大家介紹了Go垃圾回收提升內(nèi)存管理效率優(yōu)化最佳實(shí)踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • 詳解如何在Go中循環(huán)中使用Defer關(guān)鍵字示例詳解

    詳解如何在Go中循環(huán)中使用Defer關(guān)鍵字示例詳解

    這篇文章主要為大家介紹了詳解如何在Go中循環(huán)中使用Defer關(guān)鍵字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Golang 語(yǔ)言控制并發(fā) Goroutine的方法

    Golang 語(yǔ)言控制并發(fā) Goroutine的方法

    本文我們介紹了不同場(chǎng)景中分別適合哪種控制并發(fā) goroutine 的方式,其中,channel 適合控制少量 并發(fā) goroutine,WaitGroup 適合控制一組并發(fā) goroutine,而 context 適合控制多級(jí)并發(fā) goroutine,感興趣的朋友跟隨小編一起看看吧
    2021-06-06

最新評(píng)論