`
mygo
  • 浏览: 23846 次
  • 来自: 武汉
社区版块
存档分类
最新评论

go range

 
阅读更多

	//array or slic
	datas := []int{1, 2, 3}
	//datas := [...]int{1, 2, 3}
	//datas := &[...]int{1, 2, 3}
	for idx, v := range datas {
		fmt.Println(idx, v)
	}

	//If only the first iteration variable is present,
	//the range loop produces iteration values from 0 up to len(a)-1
	//and does not index into the array or slice itself
	var pdatas *[3]int
	//len(pdatas) == 3
	for idx, _ := range pdatas {
		fmt.Println(idx) // 0 1 2
	}

	//string, type of v is rune, byteIdx为UTF-8编码字节位置
	//如果有无效的编码则v返回0xFFFD, then?
	for byteIdx, v := range "中文" {
		fmt.Printf("%d %x\n", byteIdx, v)
	}
	//0 4e2d
	//3 6587

	//map
	m := map[int]string{1: "11", 2: "22"}
	for k, v := range m {
		fmt.Println(k, v)
	}

	//chan or <-chan
	ch := make(chan int)
	go func() {
		//1. if ch is nil, blocks forever
		//2. until the channel is closed
		for v := range ch {
			fmt.Println("recv:", v)
		}
	}()

	ch <- 1
	ch <- 2
	close(ch)

	//
	var testdata *struct {
		a *[7]int
	}
	for i, _ := range testdata.a {
		// testdata.a is never evaluated; len(testdata.a) is constant
		// i ranges from 0 to 6
		fmt.Println(i)
	}

 

分享到:
评论

相关推荐

    Go语言介绍(十五)--Go 语言range.docx

    Go语言中的range关键字是用于遍历数组、切片、字符串、映射和通道等集合类型的一个非常实用的特性。通过使用range,开发者可以更加简洁和高效地处理数据集合,而且获取到元素的索引和值。在遍历数组和切片时,range...

    go代码-Go range(范围)

    在Go语言中,`range`关键字是一个非常强大的工具,它用于遍历数组、切片、字符串、映射和通道中的元素。在这个`go代码-Go range(范围)`的示例中,我们将深入探讨`range`的工作原理以及如何在实践中使用它。 1. **...

    浅析Go语言中的Range关键字

    在Go语言中,`range`关键字是一个非常关键的特性,用于遍历数组、切片(slice)、字符串和映射(map)等数据结构。它的基本语法形式为: ```go for index, value := range collection { // ... } ``` 在这个循环...

    go代码-go range和字符编码

    在Go语言中,`go range` 是一个非常有用的特性,它允许我们遍历数组、切片、映射或通道中的元素。在这个主题中,我们将深入探讨`go range`如何与字符编码,特别是Unicode编码,如UTF-8,相结合来处理字符串。首先,...

    Go语言range关键字循环时的坑

    关键字range可用于循环,类似迭代器操作,它可以遍历slice,array,string,map和channel,然后返回索引或值。可以使用”_”来忽略不想要的返回值。可以方便的读取上面类型中的内容,例如: package main import fmt ...

    range文档与例子

    在编程领域,`range` 是一个非常常见的工具,尤其在 Go 语言、Python 和其他一些编程语言中。它被用于生成一系列整数序列,通常在循环结构中使用,以简化迭代过程。`range` 函数提供了高效且灵活的方式来遍历序列,...

    关于Golang中range指针数据的坑详解

    在Go语言中,`for range` 是一种常用的迭代机制,它可以用来遍历数组、切片、字符串、通道(channel)、映射(map)等数据结构。然而,在处理指针类型的数据时,`for range` 可能会带来一些意想不到的行为,特别是当...

    Go语言中的range用法实例分析

    本文实例讲述了Go语言中的range用法。分享给大家供大家参考。具体如下: for 循环的 range 格式可以对 slice 或者 map 进行迭代循环。 代码如下:package main import “fmt” var pow = []int{1, 2, 4, 8, 16, 32, ...

    golang中range在slice和map遍历中的注意事项

    在Go语言中,`range`关键字可以被用来遍历数组、切片(slice)、字符串、通道(channel)以及映射(map)。它提供了一种简洁的方式来访问集合中的元素,但在某些情况下可能会遇到一些预料之外的行为。 在遍历切片时...

    go语言中range用法

    本文实例讲述了go语言中range用法。分享给大家供大家参考。具体分析如下: range是go语言系统定义的一个函数。 函数的含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值。 假如说a[0]=10,则遍历到a...

    详解Go语言中for range的坑

    在Go语言中,`for range` 是一种非常常用的迭代语法,尤其在遍历数组、切片、map 和通道等集合类型时。然而,正如标题所言,“详解Go语言中for range的坑”,在某些特定场景下,不恰当的使用`for range`可能会导致...

    数组for-range遍历.go

    数组for-range遍历.go

    Go语言核心编程_李文塔.zip

    本书主要分三个方面介绍Go语言:Go语言精华——并发和小而美的类型系统;Go语言缺陷;Go语言的哲学。本书重点介绍Go语言的实践和并发编程范式,力求让读者不但清楚并发的基本语法和原理,还学会怎么去使用。本书对Go...

    Go-Golang中的密码安全随机字符串ints和range

    在Go(Golang)语言中,安全性是任何应用程序开发的核心要素,特别是在处理密码和其他敏感信息时。本篇文章将深入探讨如何在Go中生成密码安全的随机字符串,以及如何使用`ints`和`range`关键字来增强安全性。我们将...

Global site tag (gtag.js) - Google Analytics