标签: go

如何在Go中有效地连接字符串?

在Go中,a string是原始类型,这意味着它是只读的,并且对它的每次操作都将创建一个新字符串.

因此,如果我想在不知道结果字符串长度的情况下多次连接字符串,那么最好的方法是什么?

天真的方式是:

s := ""
for i := 0; i < 1000; i++ {
    s += getShortStringFromSomewhere()
}
return s
Run Code Online (Sandbox Code Playgroud)

但这似乎不是很有效.

string string-concatenation go

683
推荐指数
11
解决办法
43万
查看次数

如何检查地图中是否包含密钥?

我知道我可以迭代一张地图m,

for k, v := range m { ... }
Run Code Online (Sandbox Code Playgroud)

并寻找一个键,但有一种更有效的方法来测试一个键在地图中的存在吗?

我在语言规范中找不到答案.

dictionary go go-map

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

你如何在Go中编写多行字符串?

Go是否有类似于python的多行字符串:

"""line 1
line 2
line 3"""
Run Code Online (Sandbox Code Playgroud)

如果没有,编写跨越多行的字符串的首选方法是什么?

string multiline go

564
推荐指数
7
解决办法
22万
查看次数

Go中有一个foreach循环吗?

foreachGo语言中是否有构造?我可以使用for?迭代切片或数组吗?

foreach go slice

521
推荐指数
6
解决办法
35万
查看次数

将字节数组转换为字符串的最佳方法是什么?

我需要阅读[100]byte以传输一堆string数据.

因为不是所有的strings都是100个字符长,所以剩下的部分byte array0s 填充.

如果我[100]byte转向string:string(byteArray[:]),拖尾0s显示为^@^@s.

在C string将在终止0,所以我不知道什么的巧妙的最佳方式转移byte arraystring在Golang.

go

482
推荐指数
5
解决办法
46万
查看次数

在Go中表示枚举的惯用方法是什么?

我试图代表一个简化的染色体,它由N个碱基组成,每个碱基只能是一个{A, C, T, G}.

我想用枚举来形式化约束,但我想知道在Go中模仿枚举的最惯用方法是什么.

enums go genetics

478
推荐指数
11
解决办法
26万
查看次数

如何在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万
查看次数

可选参数?

Can Go有可选参数吗?或者我可以只定义两个具有相同名称和不同数量的参数的函数?

overloading go

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

在Go中连接两个切片

我正在尝试将切片[1, 2]和切片组合在一起[3, 4].我怎么能在Go中这样做?

我试过了:

append([]int{1,2}, []int{3,4})
Run Code Online (Sandbox Code Playgroud)

但得到了:

cannot use []int literal (type []int) as type int in append
Run Code Online (Sandbox Code Playgroud)

但是,文档似乎表明这是可能的,我错过了什么?

slice = append(slice, anotherSlice...)
Run Code Online (Sandbox Code Playgroud)

append variadic-functions go slice

411
推荐指数
8
解决办法
23万
查看次数

如何检查Go中是否存在文件?

Go的标准库没有专门用于检查文件是否存在的函数(如Python os.path.exists).这样做的惯用方法是什么?

file standard-library go

393
推荐指数
14
解决办法
22万
查看次数