Golang返回函数

  • 本文关键字:函数 返回 Golang go
  • 更新时间 :
  • 英文 :

package main
import (
"crypto/sha256"
"encoding/hex"
"fmt"
"log"
"os"
"path/filepath"
)
func findFiles() {
filepath.Walk("/", func(path string, info os.FileInfo, err error) error {
fmt.Println(path)
file, err := os.Open(path)
if err != nil {
log.Println(err)
}
defer file.Close()
hash := sha256.New()
fmt.Println(hex.EncodeToString(hash.Sum(nil)))
return nil
})
}
func main() {
findFiles()
}

所以我想做的是在调用函数时返回散列,但我不确定如何返回。

我希望它访问系统中的所有目录和所有文件,然后对它们进行散列并打印出来。

我相信您正在寻找:

package main
import (
"crypto/sha256"
"fmt"
"io"
"log"
"os"
"path/filepath"
)
func findFiles() {
filepath.Walk("/", func(path string, info os.FileInfo, err error) error {
fmt.Println(path)
file, err := os.Open(path)
if err != nil {
log.Println(err)
return nil
}
defer file.Close()
hash := sha256.New()
if _, err := io.Copy(hash, file); err != nil {
log.Println(err)
return nil
}
fmt.Printf("%xn", hash.Sum(nil))
return nil
})
}
func main() {
findFiles()
}

最新更新