为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查文件中的字符,如果不存在用 GoLang 粘贴?

如何检查文件中的字符,如果不存在用 GoLang 粘贴?

Go
米琪卡哇伊 2023-02-14 15:28:36
我想用 Go 编写一个代码,它检查 File1 中的字符是否存在于 File2 中。如果存在,则跳过;如果不存在,则将其写入文件 2..你能帮帮我吗?我无法在此处粘贴我的代码,但您可以从此处查看: https://go.dev/play/p/IX_ibwya1B1
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

转换[]byte为 a 后map[byte]bool,您可以使用逗号 ok符号来检查映射中是否存在字节。


在您的示例中,您可以将 File2 的 []byte 转换为映射,然后循环查找 File1 中的字节以检查其中一些字节是否存在于映射中。


func main() {

    file1 := []byte("Hello world!")

    file2 := []byte("Say Hello!")


    m := convertToMap(file2)


    for _, v := range file1 {

        if _, ok := m[v]; !ok {

            fmt.Println(string(v))

        }

    }

}


func convertToMap(b []byte) map[byte]bool {

    m := map[byte]bool{}

    for _, v := range b {

        m[v] = true

    }

    return m

}

https://go.dev/play/p/VktG78V324d


查看完整回答
反对 回复 2023-02-14
  • 1 回答
  • 0 关注
  • 65 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信