golang中如果想实现一个Java中的toString方法,可以对struct添加一个String接口使其转换为字符串函数。
package main
import (
"fmt"
"strconv"
)
type Array struct {
data []int
size int
}
func (Array *Array) String() string{
res := fmt.Sprintf("Array: size = %d , capacity = %d\n", Array.size, len(Array.data))
res += "["
for i := 0; i < Array.size; i++ {
res += strconv.Itoa(Array.data[i])
if i != Array.size-1 {
res += ", "
}
}
res += "]"
return res
}
func main() {
arr := new(Array)
fmt.Println(arr) // Array: size = 0 , capacity = 0 []
}