我正在學習 go 語言并在一些網(wǎng)絡資源的幫助下編寫我的第一個 go 程序:package mainimport ( "fmt" "crypto/sha512" "encoding/base64")func main() { ba := []byte("HelloWorld") hasher := sha512.New() hasher.Write(ba) sha := base64.StdEncoding.EncodeToString(hasher.Sum(nil)) fmt.Printf(sha)}它編譯并按預期工作,但我無法自己編寫此代碼,因為如果我查看sha256的 Go 包參考,我看不到Write()和Sum()方法。在哪里可以找到此類信息?也許,我沒有閱讀好的文檔,或者有一種我沒有看到的“繼承”。
3 回答

陪伴而非守候
TA貢獻1757條經(jīng)驗 獲得超8個贊
hash.Hash
返回一個Hash
接口,其中包括io.Writer
. 如果你檢查io.Writer
,你會發(fā)現(xiàn)一個Writer
接口,它有一個Write()
方法。由于sha512
包確實實現(xiàn)了 Write 方法,因此您可以將 調用Write
為hasher
方法。
訪問接口的唯一要求是實現(xiàn)自定義范圍中定義的方法。
- 3 回答
- 0 關注
- 238 瀏覽
添加回答
舉報
0/150
提交
取消