在Go语言中,要输出结构体的方法有两种方式:
- 使用fmt包的Println、Printf或Print函数:这些函数可以直接打印出结构体的字段值。例如:
package main import ( "fmt" ) type Person struct { Name string Age int Email string } func main() { p := Person{ Name: "John", Age: 25, Email: "john@example.com", } fmt.Println(p) // 打印结构体的值 fmt.Printf("%+v\n", p) // 打印结构体的字段名和值 }
输出结果为:
{John 25 john@example.com} {Name:John Age:25 Email:john@example.com}
- 实现结构体的String()方法:通过实现结构体的String()方法,可以自定义结构体的打印格式。String()方法需要返回一个字符串,该字符串将作为结构体的打印输出。例如:
package main import ( "fmt" ) type Person struct { Name string Age int Email string } func (p Person) String() string { return fmt.Sprintf("Name: %s, Age: %d, Email: %s", p.Name, p.Age, p.Email) } func main() { p := Person{ Name: "John", Age: 25, Email: "john@example.com", } fmt.Println(p) // 自定义的打印格式 }
输出结果为:
Name: John, Age: 25, Email: john@example.com
通过实现String()方法,我们可以灵活地控制结构体的打印输出。