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

go實(shí)現(xiàn)for range迭代時修改值的操作

 更新時間:2021年04月26日 08:45:35   作者:lein_wang  
這篇文章主要介紹了go實(shí)現(xiàn)for range迭代時修改值的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

for range的val不能直接修改

因?yàn)榈刂凡煌?/p>

package main 
import "fmt" 
func main() {
	x := make([]int, 3) 
	x[0], x[1], x[2] = 1, 2, 3 
	for i, val := range x {
		fmt.Println(&x[i], "vs.", &val)
	}
} 
//輸出
0x416020 vs. 0x41602c
0x416024 vs. 0x41602c
0x416028 vs. 0x41602c

補(bǔ)充:GO語言使用range遍歷數(shù)組,值不被改變(避開range坑)

首先GO語言遍歷數(shù)組兩種方式

一種是

for i:=0;i<len;i++{}

這種方式,就是如果在循環(huán)中更改數(shù)組的值,則會更改到原數(shù)組的值。沒有進(jìn)行數(shù)組值的復(fù)制

第二種方式

也是主要介紹的就是range遍歷數(shù)組

for _,num :=range arr{}

這種方式遍歷數(shù)組,會將遍歷的數(shù)組的每一個元素進(jìn)行復(fù)制,通過使用復(fù)制的值,進(jìn)行for循環(huán)的內(nèi)容,在for循環(huán)中進(jìn)行更改值,不會影響原數(shù)組的值

舉例說明:

func (student Student) rename() {
	student.name = "xiang"
}
func main() {
	var a []int
	a = []int{1, 2, 3, 4, 5, 6, 7, 8}
	for i := 0; i < len(a); i++ {
		a[i] = 0
	}
	fmt.Println(a)
}

此時用的是for i:=0;i<len;i++循環(huán)方式,,根據(jù)輸出,可以判斷,修改的是原數(shù)組。

在這里插入圖片描述

使用Range遍歷數(shù)組

func main() {
	var a []int
	a = []int{1, 2, 3, 4, 5, 6, 7, 8}
	for _, num := range a {
		num = 0
		fmt.Print(num, " ")
	}
	fmt.Println(a)
}

在這里插入圖片描述

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Go工具鏈之代碼測試神器go?test詳解

    Go工具鏈之代碼測試神器go?test詳解

    這篇文章主要給大家介紹Go?工具鏈go?test,go?test?是?Go?工具鏈中的一個命令,用于編譯和運(yùn)行按照要求編寫的?Golang?測試代碼,并生成測試報告,感興趣的同學(xué)跟著小編一起來看看本文吧
    2023-07-07
  • golang常用庫之配置文件解析庫-viper使用詳解

    golang常用庫之配置文件解析庫-viper使用詳解

    viper 配置管理解析庫,是由大神 Steve Francia 開發(fā),他在google領(lǐng)導(dǎo)著 golang 的產(chǎn)品開發(fā),他也是 gohugo.io 的創(chuàng)始人之一,命令行解析庫 cobra 開發(fā)者,這篇文章主要介紹了golang常用庫之配置文件解析庫-viper使用詳解,需要的朋友可以參考下
    2020-10-10
  • Go語言流程控制詳情

    Go語言流程控制詳情

    這篇文章主要介紹了Go語言流程控制詳情,流程控制包含分三大類:條件判斷,循環(huán)控制和無條件跳轉(zhuǎn)。下面關(guān)于更多相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • 在Go語言單元測試中解決HTTP網(wǎng)絡(luò)依賴問題

    在Go語言單元測試中解決HTTP網(wǎng)絡(luò)依賴問題

    在 Go 語言中,我們需要找到一種可靠的方法來測試 HTTP 請求和響應(yīng),本文將探討在 Go 中進(jìn)行 HTTP 應(yīng)用測試時,如何解決應(yīng)用程序的依賴問題,以確保我們能夠編寫出可靠的測試用例,需要的朋友可以參考下
    2023-07-07
  • Go語言配置解析庫viper的使用指南

    Go語言配置解析庫viper的使用指南

    viper?配置管理解析庫,是由大神?Steve?Francia?開發(fā),本文就來和大家詳細(xì)講講它的具體使用,文中的示例代碼講解詳細(xì),需要的可以收藏一下
    2023-06-06
  • 基于gin的golang web開發(fā):路由示例詳解

    基于gin的golang web開發(fā):路由示例詳解

    這篇文章主要介紹了基于gin的golang web開發(fā):路由示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 一文帶你了解Golang中interface的設(shè)計與實(shí)現(xiàn)

    一文帶你了解Golang中interface的設(shè)計與實(shí)現(xiàn)

    本文就來詳細(xì)說說為什么說?接口本質(zhì)是一種自定義類型,以及這種自定義類型是如何構(gòu)建起?go?的?interface?系統(tǒng)的,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • 如何編寫Go語言中間件的實(shí)例教程

    如何編寫Go語言中間件的實(shí)例教程

    不知道大家有沒有寫過中間件呢,它是怎么寫的呢?下面這篇文中就來給大家分享一下使用Go,如何編寫中間件,文中通過示例代碼介紹的非常詳細(xì),供大家參考學(xué)習(xí),下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • Go語言常見錯誤之濫用getters/setters誤區(qū)實(shí)例探究

    Go語言常見錯誤之濫用getters/setters誤區(qū)實(shí)例探究

    在Go語言編程中,恰如其分地使用getters和setters是至關(guān)重要的,過度和不適當(dāng)?shù)厥褂盟鼈兛赡軐?dǎo)致代碼冗余、可讀性差和封裝不當(dāng),在本文中,我們將深入探討如何識別濫用getter和setter的情況,以及如何采取最佳實(shí)踐來避免這些常見的Go錯誤
    2024-01-01
  • golang?chan傳遞數(shù)據(jù)的性能開銷詳解

    golang?chan傳遞數(shù)據(jù)的性能開銷詳解

    這篇文章主要為大家詳細(xì)介紹了Golang中chan在接收和發(fā)送數(shù)據(jù)時因?yàn)椤皬?fù)制”而產(chǎn)生的開銷,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-01-01

最新評論

天镇县| 湘潭县| 壤塘县| 巴南区| 玛多县| 岗巴县| 汉沽区| 安化县| 军事| 方城县| 甘德县| 阜城县| 内江市| 体育| 佛学| 荆州市| 富源县| 丰宁| 玉树县| 错那县| 和静县| 芦山县| 屏山县| 高邮市| 新余市| 泸州市| 龙胜| 彰化县| 昭通市| 望江县| 乐亭县| 汝州市| 娄烦县| 修水县| 庆阳市| 龙海市| 荆州市| 云南省| 麦盖提县| 合作市| 张家川|