我想用 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
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报
0/150
提交
取消