Go 返回对象中的所有内容

Go 返回对象中的所有内容,go,Go,我是新来的,所以我很抱歉这个问题 在JavaScriptconsole.log(窗口)中,返回窗口中的所有对象。在PHPvar\u dump(new DateTime())中,返回DateTime()中的所有对象 Go中是否有一个函数可以返回给定对象中的所有对象?例如,如果给定了fmt,则应返回Println。GO,& Go没有对象,但我们有自定义类型和接口,可以附加属性、函数和其他类型 你具体想做什么?如果您正在查找变量转储: 使用 Println使用其操作数的默认格式进行格式化,并写入标准输

我是新来的,所以我很抱歉这个问题

在JavaScript
console.log(窗口)
中,返回
窗口中的所有对象。在PHP
var\u dump(new DateTime())
中,返回
DateTime()中的所有对象

Go中是否有一个函数可以返回给定对象中的所有对象?例如,如果给定了
fmt
,则应返回
Println

GO,& Go没有对象,但我们有自定义类型和接口,可以附加属性、函数和其他类型

你具体想做什么?如果您正在查找
变量转储

使用
Println
使用其操作数的默认格式进行格式化,并写入标准输出

使用
Printf
根据格式说明符格式化并写入标准输出

使用
Sprintf
根据格式说明符设置格式并返回结果字符串

以下是我在输出var数据时的个人偏好示例:


我希望这有帮助

在围棋中也可以做类似的事情,但并不适用于所有人

func main() {

    //arrays
    a := []int{1,2,3,4}
    fmt.Printf("%v\r\n", a)         //print [1 2 3 4]

    //maps
    b := map[string]int{
          "a":1,
          "b":2,
    }
    fmt.Printf("%v\r\n", b)        //print map[a:1 b:2]

    //structs
    c := struct{
          A int
          B int
    }{1,2}
    d := struct{
          C struct{
              A int 
              B int
          }
          D int
    }{c,2}
    fmt.Printf("%v\r\n", d)        //print {{1 2} 2}
}
见:

如果传递fmt,则会发生错误,因为它是一个包。错误是:

Error: use of package fmt without selector

我希望这也有帮助

尝试在终端中执行
go doc fmt
,以生成“fmt”包的描述和它导出的函数列表,或参考at。在go中,与大多数其他静态/编译语言一样,用户需要参考描述编程语言及其库的文档(或文档)。与此相反,有些方法通常使查询任何对象以发现其可用属性变得容易

在运行时,您可以通过使用
%#v
格式化动词生成值的go语法表示,获得任意值的有用打印输出,例如

xs := []int{1, 2, 3}
fmt.Printf("OK: xs=%#v\n", xs)
// OK: xs=[]int{1, 2, 3}    

请注意,包“fmt”不是go语言中的值,因此无法在运行时打印它。

fmt
是一个包,而不是一个对象,因此无法列出它的内容。我觉得你看起来像戈多克?回答得很好!非常感谢。
func main() {

    //arrays
    a := []int{1,2,3,4}
    fmt.Printf("%v\r\n", a)         //print [1 2 3 4]

    //maps
    b := map[string]int{
          "a":1,
          "b":2,
    }
    fmt.Printf("%v\r\n", b)        //print map[a:1 b:2]

    //structs
    c := struct{
          A int
          B int
    }{1,2}
    d := struct{
          C struct{
              A int 
              B int
          }
          D int
    }{c,2}
    fmt.Printf("%v\r\n", d)        //print {{1 2} 2}
}
Error: use of package fmt without selector
xs := []int{1, 2, 3}
fmt.Printf("OK: xs=%#v\n", xs)
// OK: xs=[]int{1, 2, 3}