我是编程语言的新手,我在我的代码上存在这种情况。 这是我的示例代码:
a := genreAPI{Genre{"Pop"}, Genre{"Rock"}}
fmt.Println("Value of a :", a)
当前输出为:Value of a : [{Pop} {Rock}]
如何实现这样的输出:
Value of a : [{UG9w} {Um9jaw==}]
这是一个base64编码?
答案 0 :(得分:3)
我不确定文档中究竟有什么不清楚。它不仅具有明确的name,它解释了该方法正在做什么,它还有一个例子。
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("Pop")
str := base64.StdEncoding.EncodeToString(data)
fmt.Println(str) // UG9w
}
答案 1 :(得分:0)
您可以通过为您的类型提供String()
方法来自定义打印功能的输出。适用于整个Genre
或仅适用于名称变量。
示例:
package main
import (
"encoding/base64"
"fmt"
)
type Base64String string
func (b Base64String) String() string {
return base64.StdEncoding.EncodeToString([]byte(b))
}
type Genre struct {
Name Base64String
}
func main() {
a := []Genre{Genre{"Pop"}, Genre{"Rock"}}
fmt.Println(a) // prints [{UG9w} {Um9jaw==}]
fmt.Println(string(a[0].Name)) // prints Pop
}