小编har*_*ass的帖子

如何在Go中将int值转换为字符串?

i := 123
s := string(i) 
Run Code Online (Sandbox Code Playgroud)

s是'E',但我想要的是"123"

请告诉我如何获得"123".

在Java中,我可以这样做:

String s = "ab" + "c"  // s is "abc"
Run Code Online (Sandbox Code Playgroud)

我怎么能concat在Go中使用两个字符串?

string int go converters

447
推荐指数
9
解决办法
33万
查看次数

如何在Go语言中导入和使用同名的不同包?

例如,我想在一个源文件中同时使用text/template和html/template.但是下面的代码会抛出错误.

import (
    "fmt"
    "net/http"
    "text/template" // template redeclared as imported package name
    "html/template" // template redeclared as imported package name
)

func handler_html(w http.ResponseWriter, r *http.Request) {
    t_html, err := html.template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`)
    t_text, err := text.template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`)

}
Run Code Online (Sandbox Code Playgroud)

packages go

123
推荐指数
2
解决办法
4万
查看次数

如何检查文件或目录是否存在?

我想./conf/app.ini在Go代码中检查文件是否存在,但我找不到一个好方法.

我知道在Java中有一个File方法:public boolean exists()如果文件或目录存在,则返回true.

但是怎么能在Go中完成呢?

file go

117
推荐指数
4
解决办法
8万
查看次数

如何在我的项目中"测试"所有测试?

go test命令*_test.go仅涵盖一个目录中的文件.

我想要go test整个项目,这意味着测试应该涵盖*_test.go目录中的所有文件./以及目录下的每个chindren树目录./.

执行此操作的命令是什么?

testing go

114
推荐指数
3
解决办法
4万
查看次数

有没有一种方法可以使用go语言生成UUID

我的代码看起来像这样:

u := make([]byte, 16)
_, err := rand.Read(u)
if err != nil {
    return
}

u[8] = (u[8] | 0x80) & 0xBF // what does this do?
u[6] = (u[6] | 0x40) & 0x4F // what does this do?

return hex.EncodeToString(u)
Run Code Online (Sandbox Code Playgroud)

它返回一个长度为32的字符串,但我不认为它是一个有效的UUID.如果它是一个真正的UUID,为什么它是一个UUID,什么是修改的值的代码的目的u[8]u[6].

有没有更好的方法来生成UUID?

uuid go

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

如何在Go中获取文件长度?

了一下 golang.org/pkg/os/#File,但仍然不知道.似乎没有办法获得文件长度,我错过了什么?

如何在Go中获取文件长度?

file go

62
推荐指数
4
解决办法
4万
查看次数

如何只测试一个基准函数?

在我的Go包中有几个像map1_benchmark_test.go和的基准文件map2_benchmark_test.go.在每个*_benchmark_test.go文件中,都有不止一个基准函数,比如func BenchmarkMapTravel(b *testing.B)func BenchmarkMapGet(b *testing.B).

问题是,我怎样才能测试一个基准函数?

我试图阅读一些手册,并且通过运行得不到基准go help test.

benchmarking unit-testing go

30
推荐指数
2
解决办法
2万
查看次数

Go的频道是否返回两个值?

我在这个链接中看到了一些代码,并且感到困惑:http://www.darkcoding.net/software/go-lang-after-four-months/

第二个值的意义是什么(ok)?

for self.isRunning {

    select {
    case serverData, ok = <-fromServer:   // What's the meaning of the second value(ok)?
        if ok {
            self.onServer(serverData)
        } else {
            self.isRunning = false
        }

    case userInput, ok = <-fromUser:
        if ok {
            self.onUser(userInput)
        } else {
            self.isRunning = false
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

channel go

21
推荐指数
2
解决办法
2万
查看次数

如何在Golang中将符文转换为类似`\ u554a`的unicode样式字符串?

如果你跑fmt.Println("\u554a"),它会显示'啊'.

但是如何\u554a从符文"啊"中获取unicode-style-string ?

unicode go

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

是否可以将Go的缓冲通道用作线程安全队列?

我想找到一个队列结构(数据容器),其元素必须先进先出.对我来说重要的是结构必须是线程安全的.我将使用此数据容器作为任务或连接池.

我知道缓冲通道是线程安全的,但我不知道它是否作为FIFO工作,尤其是在并发情况下.

如果可以将缓冲通道用作线程安全队列,我是否需要担心其效率?

queue channel go

16
推荐指数
2
解决办法
6003
查看次数

标签 统计

go ×10

channel ×2

file ×2

benchmarking ×1

converters ×1

int ×1

packages ×1

queue ×1

string ×1

testing ×1

unicode ×1

unit-testing ×1

uuid ×1