http://play.golang.org/p/joEmjQdMaS
package main
import "fmt"
type SomeStruct struct {
somePointer *somePointer
}
type somePointer struct {
field string
}
func main() {
fmt.Println(SomeStruct{&somePointer{"I want to see what is in here"}})
}
这样会打印一个内存地址 {0x10500168}
有没有办法打印它:
{{"I want to see what is in here"}}
这主要是出于调试目的,如果我有一个带有30个指针字段的结构,我不想为30个字段中的每一个都执行一个println来查看其中的内容。
有一个很棒的软件包,称为go-spew。正是您想要的。
package main
import (
"github.com/davecgh/go-spew/spew"
)
type (
SomeStruct struct {
Field1 string
Field2 int
Field3 *somePointer
}
somePointer struct {
field string
}
)
func main() {
s := SomeStruct{
Field1: "Yahoo",
Field2: 500,
Field3: &somePointer{"I want to see what is in here"},
}
spew.Dump(s)
}
将为您提供以下输出:
(main.SomeStruct) {
Field1: (string) "Yahoo",
Field2: (int) 500,
Field3: (*main.somePointer)(0x2102a7230)({
field: (string) "I want to see what is in here"
})
}
这是用C++语言编写的代码。 为什么在第一个cout语句中,程序尝试打印直到它找到一个空字符,而在第二个语句中,它只打印一个字符?
问题内容: 我是Java的新手。我说,我有一个类 人 。我要列印 上面的代码给出如下输出: 这有什么意义? 该对象是否具有某种唯一标识? 我可以自定义吗?我的意思是编写自己的函数,该函数在打印时会输出? 如果是这样,我该怎么做? 问题答案: 如果要打印任何对象的有意义的内容,则必须实现自己的方法,该方法将覆盖parent()类的方法。默认情况下,所有类(无论您创建什么)都扩展类。 样例代码: 输出
问题内容: 这段代码: 印刷品: 没有实现,因此它不是a 并打印其本机表示形式。但是对于我要打印的每个结构都非常繁琐。更糟糕的是,如果添加或删除某些字段,则必须更新。有没有更简单的方法来打印带有其字段的结构的结构? 问题答案: 这就是该包的实现方式,因此您无法更改。 但是,您可以编写一个使用反射(包)来遍历struct的字段的辅助函数,并可以在具有此类方法的字段上调用该方法。 示例实现: 现在,当
问题内容: 我正在尝试学习如何将软件包与go-sql-driver一起使用。我编写了以下简单程序,它可以工作,但是我无法弄清楚如何打印多个字段。 该数据库具有三个字段,和。我查询“ title1”,这是值之一,但我想打印“ title”和“ body”的值。我该怎么办? 问题答案: 要读取和而不是,请首先更改该语句。 更改 至 然后更改读数。更改 至 这将读取两个列。 要打印字段,您可以执行
问题内容: 我读到这是为了在打印语句后取消换行符,您可以在文本后加上逗号。这里的示例看起来像Python2。 如何在Python 3中完成呢? 例如: 需要更改什么以便将它们打印在同一行上? 问题答案: 问题问:“ 如何在Python 3中完成? ” 在Python 3.x中使用以下结构: 这将生成: 有关更多信息,请参见此Python文档: - 除了 : 此外,该功能还提供了一个参数,该参数使您
问题内容: 我有一个类似“Tanım”的Unicode字符串,以某种方式编码为“ Tan%u0131m”。我如何将这个编码后的字符串转换回原始的unicode。显然urllib.unquote不支持unicode。 问题答案: %uXXXX是一种非标准的编码方案,尽管实施仍继续存在于JavaScript领域,但已被w3c拒绝。 更常见的技术似乎是对字符串进行UTF-8编码,然后使用%XX使用%XX