草庐IT

yaml_new

全部标签

go - 读取文件中的多个 yaml

如何像kubectl那样解析一个文件中的多个yaml?example.yaml---a:Easy!b:c:0d:[1,2]---a:Peasy!b:c:1000d:[3,4] 最佳答案 gopkg.in/yaml.v2和gopkg.in/yaml.v3之间的行为有所不同:V2:https://play.golang.org/p/XScWhdPHukOV3:https://play.golang.org/p/OfFY4qH5wW2恕我直言,这两种实现都会产生不正确的结果,但V3显然稍差一些。有一个解决方法。如果您稍微更改接受的答案中的

go - 无法解码 YAML 结构

我有一个我认为非常简单的YAML结构,我正在尝试写入和读取文件。appName:version:1.2.3.4md5_checksum:987654321而且我真的很难理解嵌套结构以及它们与yaml编码(marshal)处理的关系。此时我有以下内容:typeApplicationstruct{Namestring`yaml:"application"`Versionstring`yaml:"version"`Checksumint`yaml:"md5_checksum"`}yamlData:=Application{"MyProgram","1.2.3.4",34235234123}y

parsing - Golang yaml 生成双项

我想在yaml中生成以下内容:-bar:hello-bar:anotherpint:guiness-bar:secondpint:""在Golang中,但是制作以下示例,我得到以下输出:-bar:-bar:hello-bar:anotherpint:guiness-bar:-bar:secondpint:""似乎YAMLGolang解析器将结构的名称放在它生成的YAML中,如-bar:然后是它下面的成员数组。我不想要那个,因为它会破坏其他东西。packagemainimport("fmt""gopkg.in/yaml.v2""log")typebarstruct{Barstring}t

google-app-engine - app.yaml env_variables中无法处理换行代码

我想将包含换行代码的字符串设置为环境变量。因此,我设置了以下app.yaml。env_variables:PARAM1:"aaa\nbbb"在我的本地环境(MacOSX)中,appenginegolang应用程序获取收集的数据。aaabbb但是,我上传到标准GAE环境,应用程序只得到“aaa”。我应该做任何其他设置吗? 最佳答案 我的猜测是这两种环境之间的yaml解析器略有不同。如果您尝试为yaml切换到这些多行字符串格式之一,它是否有效?InYAML,howdoIbreakastringovermultiplelines?这个答案

postgresql - 如果我们将数据库/sql 行对象重新分配给 new Query() 的结果会怎样?它会自动关闭吗?还是我们应该自己关闭它?

我正在使用Golang处理postgresql,我处于必须执行多个查询的情况。如果我将每个查询的结果存储在同一个变量中,我们称之为“行”,每次将该变量重新分配给新的查询结果,它会自动关闭以前的行吗?还是我应该每次都手动关闭它们?如果我应该手动关闭它们,如果我每次都推迟rows.Close()会发生什么?有那么必要吗? 最佳答案 如何调用Rows.Close()*在您再次分配给rows`之前?不,Rows.Close()不会被重新分配自动调用。如果您执行多个不同查询,请使用不同变量来保存每个查询返回的行。分配后为每个调用deferro

pointers - Golang 使用 New() 返回结构指针而不是直接创建一个

我正在读这个repounittest代码和Client结构是以我以前从未见过的方式创建的。typeClientstruct{//clientstuff}//Inclient_test.go//Creatingdefaultclientfortestingc:=dc()//Inresty_test.gofuncdc()*Client{DefaultClient=New()DefaultClient.SetLogger(ioutil.Discard)returnDefaultClient}我的问题是返回New()的目的是什么?下面的代码是否与New()风格类似?为什么要二选一?funcdc

去YAML解析: mandatory fields

总结:我需要将YAML格式的数据解析为golang结构。是否有一种方法(库、属性)使某些字段成为必需字段,即如果某些字段不存在,则使Unmarshal函数返回错误?例如想要什么:此代码中的Unmarshal函数应该引发错误,因为输入数据不包含“b”字段。packagemainimport("fmt""gopkg.in/yaml.v2")typeTestStructstruct{FieldAstring`yaml:"a"`FieldBstring`yaml:"b"`}funcmain(){input:=[]byte(`{a:1}`)varoutputTestStruct_=yaml.Un

arrays - 来自 Yaml 的数组 - Golang

我尝试为我的go应用程序创建配置文件,循环执行一些作业。我的.yaml文件看起来像这样(数组):jobToRun:-name:ThisismyfirstjobtorunsqlToRun:select1fromsome_tablesomeVariable:1-name:OtherjobtorunsqlToRun:select2fromsome_tablesomeVariable:2我已成功导入YAML文件并创建了结构。typeServicestruct{JobToRun[]struct{Namestring`yaml:"name"`SQLToRunstring`yaml:"SqlToRu

google-app-engine - 如何在与 app.yaml 不同的文件夹中为 appengine Go 使用主包?

我正在尝试将Go应用程序上传到appegnineGo1.12运行时。我的主要pkg位于cmd文件夹下,如图所示https://cloud.google.com/appengine/docs/standard/go112/config/appref#runtime_and_app_elements但是如果我尝试官方文档中概述的任何方法,我会收到以下错误:ERROR:(gcloud.app.deploy)Anerroroccurredwhileparsingfile:[/home/tamal/go/src/kmodules.xyz/resource-metadata/app.yaml]Un

google-app-engine - app.yaml api_version 将 Google AppEngine 从 Go 1.9 迁移到 Go 1.11 时出现问题

在$DAYJOB,我们使用基于Go1.9的AppEngine应用程序。现在Google正在弃用1.9版,我正尝试使用migrationguide升级到1.11。.它说我应该设置runtime:go111并从app.yaml中删除api_version:go1.9值,但是这样做时,我获取部署错误消息:ERROR:(gcloud.app.deploy)Stagingcommand[/usr/lib/google-cloud-sdk/platform/google_appengine/go-app-stager/home/peter/src/licensemanager/src/web/ap