Golang 类型的 String() 方法和格式化描述符
在 Go 语言中,String() string
方法是一个用于获取对象字符串表达的方法。这个方法通常用于定义一个值的字符串表示。这个方法是对象自己的,不是像 fmt.Sprintf
那样的函数。
当我们想要打印一个对象的时候,Go 语言会自动调用这个对象的 String() string
方法来获取对象的字符串表达。
以下是一个简单的例子:
package main
import (
"fmt"
)
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("Name: %s, Age: %d", p.Name, p.Age)
}
func main() {
p := Person{"Bob", 20}
fmt.Println(p) // 自动调用 p.String()
}
在上述代码中,我们定义了一个 Person
结构体和一个 String() string
方法。当我们在 main
函数中打印 p
对象的时候,Go 语言会自动调用 p.String()
方法,并打印出 Name: Bob, Age: 20
。
另外,Go 语言中的格式化描述符和 fmt.Sprintf
函数类似。它们可以用来生成格式化的字符串。
以下是一个使用格式化描述符的例子:
package main
import (
"fmt"
)
func main() {
name := "Bob"
age := 20
fmt.Printf("Name: %s, Age: %d", name, age) // 使用 fmt.Printf
}
在上述代码中,fmt.Printf
函数用来生成格式化的字符串并打印出来。%s
是一个字符串格式化描述符,%d
是一个整数格式化描述符。当代码执行的时候,它会打印出 Name: Bob, Age: 20
。
评论已关闭