Questions tagged «go»

Go是一种开源编程语言。它是静态类型的,具有从C松散派生的语法,添加了自动内存管理,类型安全性,一些动态类型输入功能,其他内置类型,例如可变长度数组(称为slices)和键值映射,以及大型标准库。


18
如何在Go中有效地串联字符串
在Go中,a string是一种原始类型,这意味着它是只读的,对其的每次操作都会创建一个新的字符串。 因此,如果我想在不知道结果字符串长度的情况下多次连接字符串,最好的方法是什么? 天真的方法是: s := "" for i := 0; i < 1000; i++ { s += getShortStringFromSomewhere() } return s 但这似乎不是很有效。




14
如何将零终止的字节数组转换为字符串?
我需要阅读[100]byte以传输一堆string数据。 由于并非所有strings的长度都恰好是100个字符,因此s的其余部分将byte array用0s 填充。 如果我将by 转换[100]byte为string:string(byteArray[:]),则尾部0s将显示为^@^@s。 在C中,stringwill终止于0,所以我想知道将其转换byte array为stringGolang 的最佳方法是什么。
502 go 


7
在Go中串联两个切片
我正在尝试将切片[1, 2]和切片结合起来[3, 4]。如何在Go中执行此操作? 我试过了: append([]int{1,2}, []int{3,4}) 但是得到了: cannot use []int literal (type []int) as type int in append 但是,文档似乎表明这是可能的,我想念的是什么? slice = append(slice, anotherSlice...)



3
Go中标签的用途是什么?
在Go语言规范中,它提到了标签的简要概述: 字段声明后可以跟一个可选的字符串文字标签,该标签成为相应字段声明中所有字段的属性。这些标签通过反射界面可见,但在其他情况下将被忽略。 // A struct corresponding to the TimeStamp protocol buffer. // The tag strings define the protocol buffer field numbers. struct { microsec uint64 "field 1" serverIP6 uint64 "field 2" process string "field 3" } 这是IMO的简短说明,我想知道是否有人可以为我提供这些标签的用途?
392 go  reflection  struct 

14
如何在Go中找到对象的类型?
如何在Go中找到对象的类型?在Python中,我只是typeof用来获取对象的类型。类似地,在Go中,是否可以实现相同的方法? 这是我要迭代的容器: for e := dlist.Front(); e != nil; e = e.Next() { lines := e.Value fmt.Printf(reflect.TypeOf(lines)) } 在这种情况下,我无法获取对象线的类型,即字符串数组。
387 go  go-reflect 

5
格式化Go字符串而不打印?
有没有一种简单的方法可以在Go中格式化字符串而不打印字符串? 我可以: bar := "bar" fmt.Printf("foo: %s", bar) 但是我希望返回格式化的字符串而不是打印出来的字符串,以便我可以进一步处理它。 我也可以做类似的事情: s := "foo: " + bar 但这在格式字符串很复杂时很难阅读,而在一个或多个部分不是字符串而必须首先转换的时候(例如, i := 25 s := "foo: " + strconv.Itoa(i) 有没有更简单的方法可以做到这一点?

19
如何在控制台中打印结构变量?
如何打印(在控制台)Id,Title,Name等这个结构中Golang的? type Project struct { Id int64 `json:"project_id"` Title string `json:"title"` Name string `json:"name"` Data Data `json:"data"` Commits Commits `json:"commits"` }
379 struct  go 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.