草庐IT

map函数

全部标签

go - 解释函数声明的语法

请解释下面的语法,我从godoc中找到了下面的代码片段。我理解Cookie是函数名,name是它的参数,返回类型是(*Cookie,error),我无法理解的部分是(r*Request),这部分到底是什么意思。顺便说一句,我来自OOP背景。func(r*Request)Cookie(namestring)(*Cookie,error) 最佳答案 它被称为接收器。基本上,如果一个函数在它的名字(接收者)之前有一些东西,它现在被称为一个方法。这是将结构作为参数的好方法。我建议查看https://tour.golang.org/metho

go - 如何在函数中传递指向结构的指针?

我想知道如何将*Type替换为?什么地址里面有结构?//mycode.gopackagemainimport"fmt"funcout(k*Type){fmt.Println(k)}funcmain(){typeDataIPstruct{Title,Descstring}Data:=DataIP{"Hello!","HelloGO!",}out(&Data)} 最佳答案 您需要在main()之外定义类型DataIP,该类型在包的范围内,而不仅仅是在main函数内:packagemainimport"fmt"typeDataIPstru

json - 在 go 中解码 JSON 结构制作空 map

这个问题在这里已经有了答案:PrintingEmptyJsonasaresult[duplicate](1个回答)关闭9个月前。我有一个json文件,其中包含大量数据:{"elec":{"s20":{"coldS":{"wDay":{"Night":{"avg":1234,"stddev":56},"Morning":{"avg":5432,"stddev":10}...},...},...},...}我想将这个文件加载为一个go结构:typeConsumConfigstruct{elecmap[string]map[string]map[string]map[string]Consu

先不运行go main函数

packagemainimport("bytes""encoding/json""io/ioutil""log""net/http""os""os/signal""strings""unicode/utf8""sync""github.com/robfig/cron"cpu"github.com/shirou/gopsutil/cpu""fmt")constNumofResource=4//구조체typeHostInfostruct{Hostidstring}varc*cron.CronvarlastCPUTimes[]cpu.TimesStatfuncmain(){fmt.Print

go - 转换兼容但不同的 map slice

我正在使用两个库,其中一个定义了一种类型:typeAttrsmap[string]string而另一个定义:typeStringMapmap[string]string第一个库中的函数返回一个[]Attrs,而另一个库所需的结构有一个需要设置的字段[]StringMap。尝试使用简单的赋值或([]StringMap)(attrs)形式的强制转换,只会导致错误:./wscmd.go:8:22:cannotconvertattrs(type[]mpd.Attrs)totype[]StringMap那么,如何将它们连接起来呢?编辑:好的,显然这是语言限制(嘘)。它可以用不安全的指针放在一边吗

go - 获取所有 map 值作为一个 slice ?

这个问题在这里已经有了答案:InGohowtogetasliceofvaluesfromamap?(6个答案)关闭5年前。假设我有以下map:d:=map[string]int{"a":1,"b":2,"c":3,}如何获取map中的值作为slice?例如。[1,2,3]

arrays - 创建根据输入 slice 参数执行不同操作的函数

我刚开始学习Go语言,我想构建一个从slice中选择随机子序列的函数。但是,我不知道这个slice可以存储什么类型的值,这些可以是整数、字符串或某个结构的元素。例如,假设我必须结构:typepersonstruct{namestringageint}typeanimalstruct{namestringageintbreedstring}现在,我想按如下方式构建函数getRandomSequence:给定sliceS和长度l作为参数,该函数返回一个slice,其中包含从sliceS中随机选择的l个元素。我遇到的问题是-如何制作它函数适用于任何可能的slice。我尝试执行以下操作:fun

dictionary - 在 go 中使用 map channel

我想通过go中的channel传递map:funcmain(){varpipemap[string]stringpipe=make(chanmap[string]string,2)goconnect("myhost","100",pipe)out:=以便func()通过channel传递响应和错误:funcconnect(hoststring,urlstring,pipechan编译器拒绝两者pipe=make(chanmap[string]string,2):cannotusemake(chanmap[string]string,2)(typechanmap[string]strin

sorting - 对 map slice 进行排序

我有一个包含10个map的slice,如何按其中一个值排序?[{"name":"a","score":100},{"name":"z","score":150},{"name":"s","score":120},{"name":"x","score":110},{"name":"r","score":10},{"name":"b","score":1300},{"name":"b","score":1500},{"name":"w","score":1002},{"name":"o","score":140},{"name":"q","score":101}]我想用score值对sli

arrays - For 循环导致 panic : runtime error due to nil map or slice

嘿,我正在尝试为我的程序创建一个简单的标量向量。我从一个简单的变量开始,然后递增它以使其成为32x1大小的向量矩阵。varx[]intfori:=0;i很简单,但是在尝试编译时出现此错误。panic:runtimeerror:indexoutofrangegoroutine1[running]:main.main()/Users/jeanmac/go/src/matrices/main.go:69+0x7dProcessfinishedwithexitcode2不知道为什么。仅供引用,第69行指的是x[i]=i+1。尝试分配x[i]时,我收到以下警告。报告可能导致运行时panic的ni