go相关内容

如何读取 YAML 文件

我在读取 YAML 文件时遇到问题.我认为这是文件结构中的一些东西,但我不知道是什么. YAML 文件: 配置:点击数:5时间:5000000 代码: 类型配置结构{点击 int64 `yaml:"hits"`时间int64`yaml:“时间"`}func (c *conf) getConf() *conf {yamlFile, err := ioutil.ReadFile("conf ..
发布时间:2022-01-14 11:18:04 其他开发

尝试将 yaml 数据转换为结构时为空输出

我正在尝试将 yaml 数据转换为结构并打印它.我为这个程序得到的输出是空的. 主包进口 (“fmt"“gopkg.in/yaml.v2")类型示例结构 {变量 1 字符串变量2字符串}功能主要(){var 一个例子yaml.Unmarshal([]byte("variable1: asd\nvariable2: sdcs"), &a)fmt.Println(a.variable1)} 解决方 ..
发布时间:2022-01-14 11:17:22 其他开发

动态和/或递归地读取和合并两个 Yaml 文件

这个问题已经回答了合并顶级地图[字符串]接口{}值对于两个yamls,但是是否可以合并两个yaml文件 A.没有定义结构和 B.有多个未知级别的嵌套? 我尝试解组到相同的空白界面,但覆盖 yaml 完全擦除基础 yaml. //使用“gopkg.in/yaml.v2"var i 接口{}d, _ := ioutil.ReadFile("base.yaml")yaml.Unmar ..
发布时间:2022-01-14 11:16:06 其他开发

在 app.yaml 上指定的环境变量,但它没有在 main.go 上获取

我在 app.yaml 中指定了我的环境变量,当我在本地机器上运行它时会获取它,但是一旦我部署了它 - 它就不会获取它. 我是这样设置的: 应用程序:一些应用程序版本:1运行时:去api_version: go1线程安全:真处理程序:- 网址:/.*脚本:main.go安全:总是环境变量:ENVIRONMENT_VAR1: '一些关键'ENVIRONMENT_VAR2: '一些关键'ENV ..
发布时间:2022-01-14 11:13:26 其他开发

如何在 Golang 中使用动态键解析 YAML

我正在尝试使用 Go 解析 YAML 文件.问题是 YAML 文件中的键可能并不总是相同的.这是为了进行 API 版本控制,以便用户可以定义他们支持的版本.例如 V1、V2、V3 等.它们不需要按顺序排列,可以省略它们不支持的版本,即 V0、V2、V5 等. 主包进口 (“fmt"“gopkg.in/yaml.v2")变量数据 = `---发展:跳过标头验证:真V1:当前:“1.0.0"哑剧类型 ..
发布时间:2022-01-14 11:00:19 其他开发

在没有结构的情况下将 yaml 转换为 json

服务:- 命令:- ID:$保存 ID1供应商订单代码:$SupplierOrderCode- ID:$保存 ID2供应商订单代码:111111 我想把这个yaml字符串转成json,因为源数据是动态的,所以不能映射到struct: var body 接口{}错误 := yaml.Unmarshal([]byte(s), &body) 那我想再把那个接口转成json字符串: b, _ ..
发布时间:2022-01-14 10:45:58 其他开发

去更新所有模块

以这个模块为例(使用特定的提交,以便其他人看到我所看到的): git clone git://github.com/walles/moarSet-Location moargit checkout d24acdbf 我想要一种方法来告诉 Go“更新所有内容".假设模块将使用最新版本的所有内容.以下是我发现的五种方法这样做,假设每个都在一个干净的克隆上运行.这导致 go.mod 为 19行: ..
发布时间:2022-01-13 17:28:19 其他开发

在同一个目录中有两个包有意义吗?

我有一个项目,它提供了一个库(导出一些函数),还必须提供一个命令行界面(必须有一个可执行文件). 目录结构示例: whatever.io/我的项目/main.go我的项目.go go 编译器需要 package main 和 func main 来开始执行.我的库需要 package myproject 我在上面放东西的地方.这是我在构建另一个尝试导入 myproject 的项目时 go ..
发布时间:2022-01-13 17:08:33 其他开发

动态加载包

是否可以在运行时加载特定的包?我想要一种插件,每个插件都具有与其他插件相同的功能但具有不同的行为,并根据配置文件加载一个或另一个. 解决方案 您可以考虑在运行时执行“插件"包,通过写出一个新程序(例如,到临时目录)并通过 exec.Command,类似于 exec.Command("go", "run", files...).Run() 您会在这里看到一些类似的代码. ..
发布时间:2022-01-13 16:56:48 其他开发

如何导入和使用不同的同名包

例如,我想在一个源文件中同时使用 text/template 和 html/template.但是下面的代码会抛出错误. 导入 (“fmt"“网络/http""text/template"//模板重新声明为导入的包名"html/template"//模板重新声明为导入的包名)func handler_html(w http.ResponseWriter, r *http.Request) {t_ ..
发布时间:2022-01-13 16:55:04 其他开发

如何在没有 gopath 的情况下导入本地包

我使用过 GOPATH 但对于我目前面临的这个问题并没有帮助.我希望能够创建特定于项目的包: 我的项目/├── binary1.go├── binary2.go├── package1.go└── package2.go 我尝试了多种方法,但是如何让 package1.go 在 binary1.go 或 binary2.go 等中工作开吗? 例如;我希望能够 import "packag ..
发布时间:2022-01-13 16:47:29 其他开发

获取 Go 语言中的 Unix 时间戳(当前时间,以秒为单位)

我有一些用 Go 编写的代码,我正在尝试更新这些代码以使用最新的每周构建.(它最后是在 r60 下建造的).现在一切正常,除了以下一点: if t, _, err := os.Time();错误 == 无 {端口[5] = int32(t)} 关于如何更新它以与当前的 Go 实现一起使用的任何建议? 解决方案 import "time"...端口[5] = time.Now().Un ..
发布时间:2022-01-13 09:06:21 服务器开发

Golang:结构切片之间的类型转换

此问题遵循 我的另一个问题. 在以下测试代码中尝试将 res 转换为 ListSociete 时,我并没有完全理解有什么问题: 导入(“错误"“fmt"“github.com/jmcvetta/neoism")类型兴业银行结构{名称字符串}类型 ListSociete []Societefunc loadListSociete(名称字符串)(ListSociete,错误){db, err ..
发布时间:2022-01-13 08:30:19 其他开发

Golang 数字的字母表示

有没有一种简单的方法可以将数字转换为字母? 例如, 3 => "C" 和 23 => "W"? 解决方案 为简单起见,以下解决方案省略了范围检查. 它们都可以在 Go Playground 上尝试. 数字 -> 符文 只需将数字添加到 const 'A' - 1 中,添加 1 即可得到 'A',添加 >2 你得到 'B' 等等: func toChar(i int) ..
发布时间:2022-01-13 08:29:15 其他开发

无法在非接口值上键入开关

我正在使用以下虚拟代码进行类型断言,但出现错误: 不能在非接口值上键入开关 有人知道这是什么意思吗? 主包导入“fmt"导入“strconv"类型纵梁接口 {字符串()字符串}类型数字结构{整数}func (number *Number) String() string {返回 strconv.Itoa(number.v)}功能主要(){n := &数字{1}开关 v := n.(t ..
发布时间:2022-01-13 08:22:35 其他开发

如何确定 interface{} 值的“真实"值?类型?

我还没有找到使用 interface{} 类型的好资源.例如 主包导入“fmt"func 奇怪的函数(i int)接口{} {如果我 == 0 {返回“零"}返回我}功能主要(){变量 i = 5var w = 怪异函数(5)//这个例子有效!如果 tmp, ok := w.(int);行 {我 += 时间}fmt.Println("i =", i)} 你知道使用 Go 的 interface ..
发布时间:2022-01-13 08:20:49 其他开发

将字符串的元素作为字节访问是否会执行转换?

在 Go 中,要访问 string 的元素,我们可以这样写: str := "文本"对于 i, c := 范围 str {//str[i] 是字节类型//c 是 rune 类型} 当访问 str[i] 时,Go 会执行从 rune 到 byte 的转换吗?我猜答案是肯定的,但我不确定.如果是这样,那么,以下哪一种方法在性能方面更好?一个优于另一个(例如,就最佳实践而言)? str := "大 ..
发布时间:2022-01-13 08:20:00 其他开发

在不使用 for ... 范围的情况下访问字符串的随机符文元素

我最近问了 这个问题和答案增加了我的理解,但他们并没有解决我遇到的实际问题.因此,我将尝试提出一个类似但不同的问题,如下所示. 假设我想访问 string 的随机 rune 元素.一种方法是: func RuneElement(str string, idx int) rune {var ret 符文对于 i, c := 范围 str {如果我 == idx {返回 c}}return r ..
发布时间:2022-01-13 08:19:35 其他开发

故意int溢出

我正在使用散列函数 murmur2 返回一个 uint64. 然后我想把它存储在 PostgreSQL 中,它只支持 BIGINT(有符号 64 位). 因为我对数字本身不感兴趣,而只对二进制值感兴趣(因为我将它用作检测唯一性的 id(我的值集约为 1000 个值,64 位哈希对我来说就足够了)我想通过“只是"更改类型将其转换为 int64. 如何以一种令编译器满意的方式做到这一 ..
发布时间:2022-01-13 08:19:10 其他开发