英文:
path.split strange behavior
问题
似乎在path/filepath中的split方法存在问题。
我查看了调试器,似乎它没有将路径分割成部分。
Go版本:1.19
调试器输出:https://i.stack.imgur.com/5NHZ0.jpg
case fsnotify.Rename:
dir, filename := path.Split(event.Name)
fileIndex := indexOfFile(filename, s.LoggedFiles[dir])
if fileIndex == -1 {
errChannel <- errors.New("file path does not exist in map")
break
}
s.LoggedFiles[dir] = append(s.LoggedFiles[dir], s.LoggedFiles[dir][fileIndex])
fmt.Println(s.LoggedFiles[dir])
}
英文:
it seems that there is an issue with the split method in path/filepath
I have looked at the debugger and it seems like it does not split the path into
sections
go version:1.19
debugger output:https://i.stack.imgur.com/5NHZ0.jpg
case fsnotify.Rename:
dir, filename := path.Split(event.Name)
fileIndex := indexOfFile(filename, s.LoggedFiles[dir])
if fileIndex == -1 {
errChannel <- errors.New("file path does not exist in map")
break
}
s.LoggedFiles[dir] = append(s.LoggedFiles[dir], s.LoggedFiles[dir][fileIndex])
fmt.Println(s.LoggedFiles[dir])
}
答案1
得分: 2
path.Split() 使用 /
作为分隔符。为了分割特定于操作系统的目录,你应该使用 path/filepath.Split(),它使用 os.PathSeparator。
英文:
The path.Split() uses the /
separator.
To split OS specific directories you should use the path/filepath.Split() that uses the os.PathSeparator.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论