草庐IT

go - 引用另一个结构给出 "undefined"

我有一些非常简单的golang代码:funcmain(){typeconfigstruct{intervalint`mapstructure:"Interval"`statsdPrefixstring`mapstructure:"statsd_prefix"`groups[]group}typegroupstruct{groupstring`mapstructure:"group"`targetPrefixstring`mapstructure:"target_prefix"`targets[]target}}当我运行它时,我得到以下信息:未定义:组我在这里错过了什么?

go - 遍历别名(用户定义)类型的 slice 在别名之前给出类型

我正在尝试遍历用户定义类型的slice(在下面的示例中,这些是别名int),但是range生成类型为int的值,而不是我期望的MyInt。在“if”内部进行强制转换肯定有帮助,但我想了解为什么范围不产生MyInt类型的值。packagemainimport("fmt")typeMyIntintconst(MYINT00MyInt=iotaMYINT01)funcmain(){varmyInt02MyInt=2myInts:=[]MyInt{MYINT00,MYINT01}fori:=rangemyInts{ifi==myInt02{fmt.Println("same")}}}Playg

pointers - 调用结构函数给出 "cannot refer to unexported field or method"

我有这样的结构:typeMyStructstruct{Idstring}和函数:func(m*MyStruct)id(){//doingsomethingwithidhere}我还有一个这样的结构:typeMyStruct2struct{m*MyStruct}现在我有一个函数:funcfoo(str*MyStruct2){str.m.id()}但是我在编译时遇到错误:str.m.idundefined(cannotrefertounexportedfieldormethodmypackage.(*MyStruct)."".id如何正确调用这个函数? 最佳答案

go - 使用viper的配置文件在GO中给出空值

我是Go的新手,使用viper进行配置管理配置文件看起来像(config.yaml)SD_ORIGIN:weburlAPI_TRACKING_ID:77xxx1API_TOKEN:sdsaxxxdfds123并使用go代码读取值,但在我读取代码片段时得到空值:-viper.SetConfigName("config")viper.AddConfigPath(".")err:=viper.ReadInConfig()iferr!=nil{fmt.Println("Confignotfound...")}}varapiTrackingID=viper.GetString("API_TRAC

go - 在 Golang 中生成 powerset 的代码给出了错误的结果

Golang中生成幂集的下一个代码在输入{"A","B","C","D","E"}时产生错误结果。我看到[ABCEE]作为最后生成的集合。packagemainimport("fmt")funcmain(){for_,s:=rangePowerSet([]string{"A","B","C","D","E"}){fmt.Println(s)}}funcPowerSet(set[]string)[][]string{varpowerSet[][]stringpowerSet=append(powerSet,make([]string,0))for_,element:=rangeset{v

mongodb 聚合在 golang 中给出错误

我想要分组方法类型并根据它们的类型对它们进行计数。这些方法是字符串。我写了下面的代码。但是它给出了一个错误。pipeline:=[]bson.D{bson.D{{"$unwind","$method"},},bson.D{{"$group",bson.M{"_id":"$method","count":bson.M{"$sum":1}}},},query:=bson.D{{"aggregate","API_ACCESS_LOGS"},//useragentsisacollectionname{"pipeline",pipeline},}err=session.DB("vamps-log

parsing - 为什么时间格式和解析给出不同的结果?

我正在获取当前时间并将其格式化并解析回来。当我将结果与当前时间进行比较时,它们不相等。这是一个Playground示例:https://play.golang.org/p/DDFzi1t8v_-t:=time.Now()formatted:=t.Format("2006-01-0215:04:05.000-0700")parsed,_:=time.Parse("2006-01-0215:04:05.000-0700",formatted)fmt.Println(parsed.Equal(t))这是在Playground上工作,但在我的本地计算机上不行,因为我的时区是+0300。下面是相

go - bazel 构建给出 "Argument list too long"错误

尝试使用bazel构建go应用程序。由于应用程序中存在多个包和源文件,它失败了。操作系统:Mac操作系统(HighSierra)Bazel版本:0.11.1(自制)围棋规则:0.11.0在WORKSPACE中定义local_repository获取外部依赖运行以下命令bazelbuild//go-app导致错误Actionfailedtoexecute:java.io.IOException:Cannotrunprogram"/usr/bin/sandbox-exec"(indirectory"/TEMP_DIR/PATH"):error=7,ArgumentlisttoolongTa

amazon-web-services - DynamoDB 多个筛选条件,给出错误 - buildTree 错误 : unset parameter: ConditionBuilder

我正在构建RESTAPI,在GO中使用Lambda和DynamoDB。我需要根据多个过滤器查询数据。过滤器的数量可以根据用户在调用RESTAPI时提供的查询参数的数量而变化。根据下面的帖子,我开发了添加多个条件的代码。AWSSDKforGo-DynamoDb-AddmultipleconditionstoFilterExpression但是当我调用该函数时,我在日志中遇到以下错误。-buildTreeerror:unsetparameter:ConditionBuilder不应用过滤器表达式,扫描返回所有结果。这是代码片段。forqueryParam,queryParamValue:=

长数字的 JSON 解码给出 float

例如,我使用golang编码和解码JSON,当我想用​​数字字段进行编码时,golang将其转换为float而不是使用长数字。我有以下JSON:{"id":12423434,"Name":"Fernando"}在marshal到map并再次unmarshal到json字符串后,我得到:{"id":1.2423434e+07,"Name":"Fernando"}如您所见,“id”字段采用浮点表示法。我使用的代码如下:packagemainimport("encoding/json""fmt""os")funcmain(){//CreatetheJsonstringvarb=[]byte(