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

Go 容器遍歷的實現(xiàn)示例

 更新時間:2021年06月12日 10:13:26   作者:aoho  
Go 語言提供的基礎(chǔ)容器,免不了要查詢?nèi)萜髦械臄?shù)據(jù),那么是如何實現(xiàn)遍歷的呢?本文將會介紹幾種常用容易的遍歷及其使用。感興趣的可以了解一下

前文回顧

前面的文章主要介紹了 Go 語言中提供了 list 列表和 Map 映射關(guān)系容器,這兩種容器都是我們?nèi)粘=?jīng)常使用到的。介紹了好多種的 Go 語言提供的基礎(chǔ)容器,免不了要查詢?nèi)萜髦械臄?shù)據(jù),那么是如何實現(xiàn)遍歷的呢?本文將會介紹幾種常用容易的遍歷及其使用。

容器遍歷

Go 語言中 range 關(guān)鍵字用于 for 循環(huán)中迭代數(shù)組(array)、切片(slice)、通道(channel)或集合(map)的元素。在數(shù)組和切片中它返回元素的索引和索引對應(yīng)的值,在集合中返回 key-value 對。
遍歷對于很多 Golang 的內(nèi)置容器來說,形式都是基本一致的,主要通過 for-range 語法,我們將通過以下的例子分別展示數(shù)組、切片和字典的遍歷過程,代碼如下所示:

package main

import "fmt"

func main()  {

 // 數(shù)組的遍歷
 nums := [...]int{1,2,3,4,5,6,7,8}
 for k, v:= range nums{
  // k 為下標(biāo),v 為對應(yīng)的值
  fmt.Println(k, v, " ")
 }

 fmt.Println()

 // 切片的遍歷
 slis := []int{1,2,3,4,5,6,7,8}
 for k, v:= range slis{
  // k 為下標(biāo),v 為對應(yīng)的值
  fmt.Println(k, v, " ")
 }

 fmt.Println()

 // 字典的遍歷
 tmpMap := map[int]string{
  0 : "小明",
  1 : "小紅",
  2 : "小張",
 }

 for k, v:= range tmpMap{
  // k 為鍵值,v 為對應(yīng)值
  fmt.Println(k, v, " ")
 }
}

通過 for-range 可以對數(shù)組、切片和字典以同樣的方式進行遍歷。如果僅需要遍歷值,可以將不需要的鍵改為匿名變量形式,如下所示:

for _, v := range nums {

僅遍歷鍵時,可以直接省略掉無用值的賦值。在 for-range 遍歷的過程中,因為鍵和值都是通過拷貝的方式進行賦值,對它們進行修改并不會影響到容器內(nèi)成員的變化,這點需要我們在實際開發(fā)中多加注意。

小結(jié)

本文主要介紹了容器的遍歷。go 語言中主要通過 for-range 語法,文中實際的案例分別展示了數(shù)組、切片和字典的遍歷過程。
在數(shù)組上使用 range 將傳入 index 和值兩個變量。當(dāng)我們不需要使用該元素的序號,可以使用空白符"_"省略了。不過有些場景可能確實需要知道它的索引。 

到此這篇關(guān)于Go 容器遍歷的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)Go 容器遍歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • golang中三種線程安全的MAP小結(jié)

    golang中三種線程安全的MAP小結(jié)

    在Go語言中,Map是并發(fā)不安全的,本文主要介紹了golang中三種線程安全的MAP小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Go語言常用字符串處理方法實例匯總

    Go語言常用字符串處理方法實例匯總

    這篇文章主要介紹了Go語言常用字符串處理方法,實例匯總了Go語言中常見的各種字符串處理技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Go語言學(xué)習(xí)之函數(shù)的定義與使用詳解

    Go語言學(xué)習(xí)之函數(shù)的定義與使用詳解

    這篇文章主要為大家詳細介紹Go語言中函數(shù)的定義與使用,文中的示例代碼講解詳細,對我們學(xué)習(xí)Go語言有一定幫助,需要的可以參考一下
    2022-04-04
  • 一文帶你了解Go語言中鎖的實現(xiàn)

    一文帶你了解Go語言中鎖的實現(xiàn)

    這篇文章主要帶大家一起學(xué)習(xí)一下go鎖和讀寫鎖的總結(jié)文檔,?主要從"參考"部分的文章結(jié)合源碼學(xué)習(xí),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-03-03
  • Golang讀寫Excel的方法教程

    Golang讀寫Excel的方法教程

    這篇文章主要給大家介紹了關(guān)于Golang讀寫Excel的方法教程,golang操作excel利用的是Excelize,Excelize是Golang編寫的一個用來操作 Office Excel 文檔類庫,基于微軟的Office OpenXML標(biāo)準,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • Golang基于泛化調(diào)用與Nacos實現(xiàn)Dubbo代理

    Golang基于泛化調(diào)用與Nacos實現(xiàn)Dubbo代理

    這篇文章主要為大家詳細介紹了Golang如何基于泛化調(diào)用與Nacos實現(xiàn)Dubbo代理,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Go語言reflect包的反射機制基本用法示例

    Go語言reflect包的反射機制基本用法示例

    反射在處理接口和類型斷言、開發(fā)通用功能或者設(shè)計框架時尤為重要,本文將深入探索 Go 語言中的反射機制,通過具體的示例展示如何使用?reflect?包,讓你能夠在 Go 項目中有效地利用這一強大的工具
    2023-11-11
  • Go?json自定義Unmarshal避免判斷nil示例詳解

    Go?json自定義Unmarshal避免判斷nil示例詳解

    這篇文章主要為大家介紹了Go?json自定義Unmarshal避免判斷nil示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Go語言LeetCode題解682棒球比賽

    Go語言LeetCode題解682棒球比賽

    這篇文章主要為大家介紹了Go語言LeetCode題解682棒球比賽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Golang的引用類型和指針的使用與區(qū)別

    Golang的引用類型和指針的使用與區(qū)別

    本文詳細介紹了Golang中的引用類型和指針的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02

最新評論

乌兰浩特市| 汕尾市| 麦盖提县| 淳安县| 锦州市| 包头市| 乌苏市| 达州市| 怀远县| 正阳县| 遵义市| 广灵县| 辽中县| 象山县| 修武县| 高邮市| 江油市| 平安县| 福贡县| 江山市| 大田县| 阳山县| 东乡族自治县| 喜德县| 洪湖市| 绥芬河市| 宁都县| 余姚市| 沽源县| 太仆寺旗| 台中县| 瑞丽市| 蒲城县| 高清| 奇台县| 白水县| 仪征市| 仁寿县| 奉新县| 连云港市| 蓬安县|