小编Ain*_*r-G的帖子

如何在Go中将编码转换为UTF-8?

我正在开发一个项目,我需要将文本从编码(例如Windows-1256阿拉伯语)转换为UTF-8.

我怎么在Go中这样做?

unicode go

10
推荐指数
1
解决办法
1万
查看次数

如何在Go中获取所有类型的常量

这是一个例子:

package main

type State int

const (
    Created State = iota
    Modified
    Deleted
)

func main() {
    // Some code here where I need the list
    // of all available constants of this type.
}
Run Code Online (Sandbox Code Playgroud)

用例是创建有限状态机(FSM).能够获得所有常量将帮助我编写一个测试用例,该测试用例将确保每个新值在FSM映射中都有相应的条目.

fsm go

8
推荐指数
2
解决办法
1063
查看次数

00:00:00怎么解析

我正在从mysql数据库解析一些时间值,其中一些是零.为什么Go无法解析这个问题,我该如何解决?

checkTime := "0000-00-00 00:00:00"
t, err := time.Parse("2006-01-02 15:04:05", checkTime)
if err !=nil{
    log.Errorf("err %v, checkTime %v, ID %v", err, checkTime, bk.ID)
}
Run Code Online (Sandbox Code Playgroud)

我明白了:

err parsing time "0000-00-00 00:00:00": month out of range, checkin 0000-00-00 00:00:00
Run Code Online (Sandbox Code Playgroud)

mysql time parsing go

6
推荐指数
2
解决办法
1466
查看次数

如何在Go中声明一个方法的函数指针

我正在尝试创建一个具有方法接收器的函数的函数指针.但是,我无法弄清楚如何让它工作(如果可能的话)?

基本上,我有以下内容:

type Foo struct {...}
func (T Foo) Bar bool {
   ... 
}

type BarFunc (Foo) func() bool // Does not work.
Run Code Online (Sandbox Code Playgroud)

代码的最后一行给出了错误

syntax error: unexpected func, expecting semicolon or newline
Run Code Online (Sandbox Code Playgroud)

go

5
推荐指数
1
解决办法
4806
查看次数

比较Go中的多个struct字段

我想知道是否存在一种通用的方法来对相当大的结构的值进行单元测试,而不必在彼此之间编写许多if语句。我知道在Go中我们可以使用表驱动的单元测试,但是我还没有找到如何用结构实现这种表驱动的方法的方法。

我的目标是创建一个结构,对其进行处理,然后对结构的新值进行单元测试。有人知道如何通过表驱动的测试来实现这一目标,或者是否有更好的方法来做到这一点?

struct unit-testing go

5
推荐指数
1
解决办法
588
查看次数

使用crypto / *后安全地将缓冲区清零

有没有一种方法可以将包含e的缓冲区归零。G。使用私钥并确保编译器不会删除未使用的调零代码?告诉我一个简单的事情:

copy(privateKey, make([]byte, keySize))
Run Code Online (Sandbox Code Playgroud)

不保证会呆在那里。

security cryptography go

5
推荐指数
1
解决办法
104
查看次数

动态获取golang接口名称

我有一个界面:

type Printer interface {
    Print(s string)
}
Run Code Online (Sandbox Code Playgroud)

和一个函数:

func fxyz(name string) {
    ....
}
Run Code Online (Sandbox Code Playgroud)

我想用“Printer”调用 fxyz,但我不想对字符串进行硬编码。

如何使用反射或其他方法获取接口名称?

reflection interface go

4
推荐指数
1
解决办法
5167
查看次数

在Go中的某些参数之前和之后拆分字符串

使用Go,我的字符串分割技能非常差.我不知道为什么,但我无法绕过这一个,我尝试了不同的方法来做我需要但我总是得到错误的输出.

我有这个字符串:

https://docs.google.com/spreadsheets/d/1k2RNDSh6K7jH3fezjjfgVrHqVstBF569al4F28hqAM/edit#gid=0
Run Code Online (Sandbox Code Playgroud)

我需要从'/ d /'之后找到这个URL的密钥,直到下一个'/'.

所以这种情况下的关键是:

1k2RNDSh6K7jH3fezjjfgVrHqVstBF569al4F28hqAM
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

string go

2
推荐指数
1
解决办法
83
查看次数

如何在Go中将SQL数组扫描到[] int64?

我正在从Postgres DB扫描一个int数组,并且返回as []uint8。我需要它们[]int64,如何将它们转换为[]int64或如何从数据库中返回它们[]int64?在我的查询中,我选择使用Postgres中的Array函数:Array(col1)col1是串行的。

我得到的错误是:

unsupported Scan, storing driver.Value type []uint8 into type []int64
Run Code Online (Sandbox Code Playgroud)

sql postgresql go psql

0
推荐指数
1
解决办法
738
查看次数