在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()方法,我們可以靈活地控制結構體的打印輸出。