我正在尝试将一些旧的 python 代码转换为 Go lang。但是我在对文件夹中的文件进行排序时遇到了困难。由于文件始终AMA1.txt,AMA2.txt等等。在Python源代码我这样做:
files=[]
for file in os.listdir(someDir):
if file.endswith(".txt"):
files.append(file)
convert = lambda text: int(text) if text.isdigit() else text
alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)',key) ]
files.sort( key=alphanum_key )
for i in files:
print (i)
Run Code Online (Sandbox Code Playgroud)
我到目前为止,但缺少排序:
func main() {
dirname := "someDir"
d, err := os.Open(dirname)
if err != nil {
fmt.Println(err)
}
defer d.Close()
fi, err := d.Readdir(-1)
if err != nil {
fmt.Println(err)
}
for _, fi …Run Code Online (Sandbox Code Playgroud)