在Go语言中,要输出结构体的方法有两种方式:
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}
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()方法,我们可以灵活地控制结构体的打印输出。