首页 > 其他分享 >Go 语言范围(Range)

Go 语言范围(Range)

时间:2023-02-13 16:13:48浏览次数:38  
标签:语言 sum Range value range num key Go fmt

Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对。

for 循环的 range 格式可以对 slice、map、数组、字符串等进行迭代循环。格式如下:

for key, value := range oldMap {
    newMap[key] = value
}

以上代码中的 key 和 value 是可以省略。

如果只想读取 key,格式如下:

for key := range oldMap

或者这样:

for key, _ := range oldMap

如果只想读取 value,格式如下:

for _, value := range oldMap

range 遍历其他数据结构:

package main
import "fmt"
func main() {
    //这是我们使用 range 去求一个 slice 的和。使用数组跟这个很类似
    nums := []int{2, 3, 4}
    sum := 0
    for _, num := range nums {
        sum += num
    }
    fmt.Println("sum:", sum)
    //在数组上使用 range 将传入索引和值两个变量。上面那个例子我们不需要使用该元素的序号,所以我们使用空白符"_"省略了。有时侯我们确实需要知道它的索引。
    for i, num := range nums {
        if num == 3 {
            fmt.Println("index:", i)
        }
    }
    //range 也可以用在 map 的键值对上。
    kvs := map[string]string{"a": "apple", "b": "banana"}
    for k, v := range kvs {
        fmt.Printf("%s -> %s\n", k, v)
    }

    //range也可以用来枚举 Unicode 字符串。第一个参数是字符的索引,第二个是字符(Unicode的值)本身。
    for i, c := range "go" {
        fmt.Println(i, c)
    }
}

以上运行输出结果为:

sum: 9
index: 1
a -> apple
b -> banana
0 103
1 111

 

标签:语言,sum,Range,value,range,num,key,Go,fmt
From: https://www.cnblogs.com/ljknlb/p/17116740.html

相关文章

  • 基于昇腾计算语言AscendCL开发AI推理应用
    摘要:本文介绍了昇腾计算语言AscendCL的基本概念,并以示例代码的形式介绍了如何基于AscendCL开发AI推理应用,最后配以实际的操作演示说明如何编译运行应用。本文分享自华为云......
  • Visual Studio Code 如何设置成中文语言
    VisualStudioCode是一款微软的代码编辑器,这款软件是比较不错的,用起来也比较方便,但是好多人在第一次安装的时候展现的是英文的,这对于一些小伙伴是比较头疼的问题,那如何调......
  • 【转】go Mutex (互斥锁)和RWMutex(读写锁)
    golang中sync包实现了两种锁Mutex(互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能.typeMutexfunc(m*Mutex)Lock(......
  • Leangoo领歌敏捷开发工具可将AC一键转换为任务。(检查项转换卡片)
    Leangoo领歌看板工具中企业版支持检查项转换卡片功能。可以将卡片中的每一个检查项转换为独立的卡片,方便对其分别进行任务分配和状态管理。点击检查项清单右侧的转换图标:......
  • leangoo领歌共享协作思维导图导入导出XMind文件。
    协作型共享多人协作思维导图Leangoo,可以导出导入XMind文件了,我们来看看如何操作:进入leangoo官网:www.leangoo.com,登陆账号。点击右上角“+”新建脑图,然后导入XMind文件......
  • go排序方法总结
    1、方法总结sort.Intssort.Floatssort.Stringssort.SliceStablesort.Interface{}2、实例//sort.Ints()s:=[]int{4,2,3,1}sort.Ints(s)fmt.Println(s)//......
  • 【转载】go.sum中特殊hash如何计算
    Golang为了依赖的安全考虑,在go.mod的基础上引入了go.sum,go.sum文件的作用主要是记录项目依赖的hash值,防止被人修改。在分析具体项目的go.sum文件后可以发现go.sum中不仅......
  • Calling C++ Code From Go With SWIG
    http://zacg.github.io/blog/2013/06/06/calling-c-plus-plus-code-from-go-with-swig/ RecentlywhileworkingonaGobasedprojectIneededtousesomefunctio......
  • 01. C语言概述
    一、C语言简介1.1、什么是C语言  C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产......
  • 【问题讨论】关于golang调用so的问题的讨论
    runtime:dlopen/dlsymwithoutCGo#18296 Open  iamacarpetopenedthisissueDec13,2016·12comments  Open  ......