英文:
Convert data to base64 encode in go
问题
我是你的中文翻译助手,以下是翻译好的内容:
我对Go编程语言还不熟悉,我在我的代码中遇到了一个问题。这是我的示例代码:
a := genreAPI{Genre{"Pop"}, Genre{"Rock"}}
fmt.Println("a的值为:", a)
当前的输出结果是:a的值为:[{Pop} {Rock}]
如何实现以下输出结果:
a的值为:[{UG9w} {Um9jaw==}]
这是一个Base64编码的结果。
英文:
I am new to go programming language and I'm stock on this scenario on my code.
Here's my example code:
a := genreAPI{Genre{"Pop"}, Genre{"Rock"}}
fmt.Println("Value of a :", a)
The current output is: Value of a : [{Pop} {Rock}]
How can I achieved an output like this:
Value of a : [{UG9w} {Um9jaw==}]
which is a base64 encode?
答案1
得分: 6
我不确定文档中到底哪部分不清楚。它不仅有一个清晰的名称来解释方法的作用,还有一个示例。
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("Pop")
str := base64.StdEncoding.EncodeToString(data)
fmt.Println(str) // UG9w
}
英文:
I am not sure what exactly is not clear from the documentation. Not only it has a clear name which explains states what the method is doing, it also has an example.
package main
import (
"encoding/base64"
"fmt"
)
func main() {
data := []byte("Pop")
str := base64.StdEncoding.EncodeToString(data)
fmt.Println(str) // UG9w
}
<kbd>Go Playground</kbd>
答案2
得分: 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) // 输出 [{UG9w} {Um9jaw==}]
fmt.Println(string(a[0].Name)) // 输出 Pop
}
英文:
You can customise the output of print functions by providing a String()
method for your type. Either for the whole Genre
or just for the name variable.
Example:
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
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论