594得票4回答
Go语言中的结构体标签有什么用途?

在Go语言规范中,它提到了标记的简要概述: 引用块: 字段声明后面可以跟一个可选的字符串字面值标记,该标记成为相应字段声明中所有字段的属性。这些标记通过反射接口可见,但在其他情况下被忽略。// A struct corresponding to the TimeStamp protocol ...

566得票16回答
如何在Go语言中找到对象的类型?

如何在Go中查找对象类型? 在Python中,我只需使用typeof获取对象的类型。同样,在Go中,是否有一种实现方式可以实现相同的功能? 这是我正在遍历的容器:for e := dlist.Front(); e != nil; e = e.Next() { lines := e.V...

564得票15回答
Go语言中类似于C语言三目运算符的惯用写法是什么?

在C/C++(以及许多类似语言)中,常用的一种声明和初始化变量的习惯用法是使用三元条件运算符:int index = val > 0 ? val : -val Go语言没有三目运算符。实现与上述代码相同的功能最惯用的方式是什么?我想到了下面的解决方案,但它似乎过于冗长。var index...

557得票8回答
不打印的情况下格式化Go字符串?

有没有一种简单的方式在Go中格式化字符串而不打印该字符串? 我可以这样做:bar := "bar" fmt.Printf("foo: %s", bar) 但我希望返回格式化后的字符串而不是打印出来,这样我就可以进一步操作它。 我也可以像这样做:s := "foo: " + bar 但是当格...

549得票11回答
如何将一个以零结尾的字节数组转换为字符串?

我需要读取 [100]byte 来传输一堆 string 数据。 因为并不是所有的 string 都恰好有 100 个字符长,所以剩余部分的 byte array 用 0 填充。 如果通过以下方式将 [100]byte 转换为 string: string(byteArray[:]),那么尾随...

548得票13回答
在Go语言中逐行读取文件

我无法在 Go 语言中找到 file.ReadLine 函数。 如何逐行读取文件?

543得票3回答
函数声明语法:函数名前括号中的内容

很抱歉在问题标题中无法更加具体,但我在阅读一些Go代码时遇到了这种形式的函数声明:func (h handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { ... } 来自https://github.com/matter...

538得票10回答
如何将字符串分配给字节数组

我想将字符串分配到字节数组中:var arr [20]byte str := "abc" for k, v := range []byte(str) { arr[k] = byte(v) } 还有其他的方法吗?

536得票11回答
init()函数何时运行?

我尝试找到关于 Go 中 init() 函数的精确解释。我读了 Effective Go,但我不确定我是否完全理解了它所说的内容。我不确定的确切句子是以下内容: 最后意味着最后:在包中所有变量声明评估它们的初始化器之后调用 init,而这些初始化器只有在所有导入的包都已经初始化之后才会被评...

531得票5回答
指针与参数和返回值中的值

在 Go 中,有多种方法可以返回 struct 值或其切片。对于单个返回值,我曾经看到过:type MyStruct struct { Val int } func myfunc() MyStruct { return MyStruct{Val: 1} } func myf...