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

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ù)組、切片和字典以同樣的方式進(jìn)行遍歷。如果僅需要遍歷值,可以將不需要的鍵改為匿名變量形式,如下所示:

for _, v := range nums {

僅遍歷鍵時,可以直接省略掉無用值的賦值。在 for-range 遍歷的過程中,因為鍵和值都是通過拷貝的方式進(jìn)行賦值,對它們進(jìn)行修改并不會影響到容器內(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)文章

  • Go語言庫系列之flag的具體使用

    Go語言庫系列之flag的具體使用

    這篇文章主要介紹了Go語言庫系列之flag的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Go語言實現(xiàn)逐行讀取和寫入文件詳解

    Go語言實現(xiàn)逐行讀取和寫入文件詳解

    這篇文章主要介紹了如何使用go語言實現(xiàn)從輸入文件中讀取每行數(shù)據(jù),然后將每行字段組合成SQL插入腳本,然后逐行寫入另外一個空白文件中,有需要的可以參考下
    2024-01-01
  • golang json性能分析詳解

    golang json性能分析詳解

    json格式可以算我們?nèi)粘W畛S玫男蛄谢袷街涣?,Go語言作為一個由Google開發(fā),號稱互聯(lián)網(wǎng)的C語言的語言,自然也對JSON格式支持很好。下面這篇文章主要給大家詳細(xì)分析介紹了golang json性能的相關(guān)資料,需要的朋友可以參考下。
    2018-02-02
  • go語言中iota和左移右移的使用說明

    go語言中iota和左移右移的使用說明

    這篇文章主要介紹了go語言中iota和左移右移的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Go uuid庫的具體使用

    Go uuid庫的具體使用

    在現(xiàn)代軟件開發(fā)中,全球唯一標(biāo)識符(UUID)在許多場景中發(fā)揮著重要的作用,本文主要介紹了Go uuid庫的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • go語言實現(xiàn)將重要數(shù)據(jù)寫入圖片中

    go語言實現(xiàn)將重要數(shù)據(jù)寫入圖片中

    本文給大家分享的是go語言實現(xiàn)將數(shù)據(jù)的二進(jìn)制形式寫入圖像紅色通道數(shù)據(jù)二進(jìn)制的低位,從而實現(xiàn)將重要數(shù)據(jù)隱藏,有需要的小伙伴參考下吧。
    2015-03-03
  • Golang編寫自定義IP限流中間件的方法詳解

    Golang編寫自定義IP限流中間件的方法詳解

    這篇文章給大家詳細(xì)的介紹了Golang編寫自定義IP限流中間件的方法,文章通過代碼實例介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-09-09
  • gorm整合進(jìn)go-zero的實現(xiàn)方法

    gorm整合進(jìn)go-zero的實現(xiàn)方法

    go-zero提供的代碼生成器里面,沒有提供orm框架操作,但是提供了遍歷的緩存操作,所以可以利用gorm當(dāng)作一個sql語句的生成器,把生成后的sql語句放到go-zero生成的模板中去執(zhí)行,對gorm整合進(jìn)go-zero的實現(xiàn)方法感興趣的朋友一起看看吧
    2022-03-03
  • Go開發(fā)環(huán)境搭建詳細(xì)介紹

    Go開發(fā)環(huán)境搭建詳細(xì)介紹

    由于目前網(wǎng)上Go的開發(fā)環(huán)境搭建文章很多,有些比較老舊,都是基于 GOPATH的,給新入門的同學(xué)造成困擾。以下為2023 版 Go 開發(fā)環(huán)境搭建,可參照此教程搭建Go開發(fā)環(huán)境,有需要的朋友可以參考閱讀
    2023-04-04
  • golang 實現(xiàn)時間戳和時間的轉(zhuǎn)化

    golang 實現(xiàn)時間戳和時間的轉(zhuǎn)化

    這篇文章主要介紹了golang 實現(xiàn)時間戳和時間的轉(zhuǎn)化操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05

最新評論