Golang 記錄

1 os.Mkdir 與os.MkdirAll:

  想要創建一個目錄:D:\\App\\BACKUPS\\,D:\\下面啥都沒有

調用

os.Mkdir()

報錯了,Mkdir:The system cannot find the path specified./ No such file or directory.

原因:MkDir()只能創建一層目錄,因爲App這目錄不存在,所以就無法創建後續的BACLUPS目錄了(注意,如果App目錄存在,是可以的);

解決方法:使用os.MkdirAll(), 它能創建一個完整的目錄,一路上沒有的目錄都會創建出來。

2 md5: Hash.Sum(b []byte)幹了啥:

b轉爲16進制加到Hash內部存在的MD5值的前面:

    h := md5.New()
	h.Write([]byte("23333333"))//計算"23333333"的MD5

	bytesMD5 := h.Sum(nil)
	strMD5 := fmt.Sprintf("%x", bytesMD5)
	log.Println("Calculated MD5 with nil:", strMD5)

	bytesMD5 = h.Sum([]byte{0x0A, 1, 100})
	strMD5 = fmt.Sprintf("%x", bytesMD5)
	log.Println("Calculated MD5 with things:", strMD5)

輸出:

有意思的是,如果沒有給Hash任何東西給它算MD5,會得出nil的md5:

	h := md5.New()

	bytesMD5 := h.Sum(nil)
	strMD5 := fmt.Sprintf("%x", bytesMD5)
	log.Println("Calculated MD5 without anything:", strMD5)

輸出:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章