go walk框架,如果使用了文件选择框,再使用ioutil读取相对路径文件,会导致文件目录指向文件选择框最后位置,而不是程序位置。

应当使用exec获取程序路径手动拼接为绝对路径。

解决方法:

package main
 
import (
    "os"
    "path/filepath"
)
 
func main() {
    dir, _ := os.Executable()
    exPath := filepath.Dir(dir)
    println(exPath)
}

参考文章: