我是一位經驗豐富的程序員,但是新的去,所以提前道歉我肯定是一個簡單的問題。Go Base64 Package中的「StdEncoding」是什麼
goland.org
網站上的base64 example code包含以下代碼。
package main
import (
"encoding/base64"
"fmt"
)
func main() {
msg := "Hello, 世界"
encoded := base64.StdEncoding.EncodeToString([]byte(msg))
fmt.Println(encoded)
decoded, err := base64.StdEncoding.DecodeString(encoded)
if err != nil {
fmt.Println("decode error:", err)
return
}
fmt.Println(string(decoded))
}
我可以複製並使用此代碼沒有問題,但作爲一個新的go程序員,我不明白什麼是以下行的StdEncoding
一部分確實
decoded, err := base64.StdEncoding.DecodeString(encoded)
我明白上述程序將encode/base64
函數導入到我的程序中。不過,如果我look at the documentation,以base64包包括以下類型和功能
func NewDecoder(enc *Encoding, r io.Reader) io.Reader
func NewEncoder(enc *Encoding, w io.Writer) io.WriteCloser
type CorruptInputError
func (e CorruptInputError) Error() string
type Encoding
func NewEncoding(encoder string) *Encoding
func (enc *Encoding) Decode(dst, src []byte) (n int, err error)
func (enc *Encoding) DecodeString(s string) ([]byte, error)
func (enc *Encoding) DecodedLen(n int) int
func (enc *Encoding) Encode(dst, src []byte)
func (enc *Encoding) EncodeToString(src []byte) string
func (enc *Encoding) EncodedLen(n int) int
func (enc Encoding) WithPadding(padding rune) *Encoding
我希望看到一個類型的StdEncoding
的 - 但我沒有看到一個StdEncoding
提及任何在此列表中。
所以,我的直接問題是 - 什麼是StdEncoding
?
我的更高級別的問題可能是 - 模塊的某個用戶正在從模塊中導出哪些內容,以及如何作爲外出用戶瀏覽這些導出的內容。
獎勵分數,如果你可以糾正任何不知情的錯誤使用條款,如模塊,導出,導入上面,並把它們放到一個上下文中。
謝謝 - 我有一個(不正確)的假設,只有類型和函數被導出 - 我沒有意識到簡單的舊變量也是如此!這使現在更有意義。 –