登录
首页 >  Golang >  Go问答

Golang函数返回

来源:stackoverflow

时间:2024-02-20 23:45:19 374浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《Golang函数返回》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

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("%x\n", hash.Sum(nil))
        return nil
    })
}

func main() {
    findFiles()
}

本篇关于《Golang函数返回》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>