go 结构体中 int互转string
时间: 2023-07-08 17:13:39 浏览: 91
在 Golang 中,可以使用 strconv 包中的函数将 int 类型转换为 string 类型,也可以使用 fmt.Sprintf() 函数将 int 类型格式化为 string 类型。同样,也可以将 string 类型转换为 int 类型。
以下是一个示例代码,演示了如何在结构体中将 int 类型转换为 string 类型:
```go
package main
import (
"fmt"
"strconv"
)
type Person struct {
Name string
Age int
}
func (p Person) String() string {
return fmt.Sprintf("%v (%v years)", p.Name, p.Age)
}
func main() {
p1 := Person{"John", 30}
p2 := Person{"Jane", 25}
// 将 int 类型转换为 string 类型
p1.Age = 40
fmt.Println(p1) // John (40 years)
// 将 string 类型转换为 int 类型
age, err := strconv.Atoi("25")
if err != nil {
fmt.Println(err)
}
p2.Age = age
fmt.Println(p2) // Jane (25 years)
}
```
在上面的示例代码中,我们定义了一个名为 Person 的结构体,其中包含 Name 和 Age 两个字段。在 String() 方法中,我们使用 fmt.Sprintf() 函数将结构体格式化为字符串,并将 int 类型的 Age 字段转换为 string 类型。
在 main() 函数中,我们创建了两个 Person 类型的变量 p1 和 p2,并分别将它们的 Age 字段修改为 int 类型的 40 和 string 类型的 "25"。我们使用 fmt.Println() 函数将两个变量打印出来,以检查它们的 Age 字段是否已正确转换为 string 类型或 int 类型。
阅读全文