Чтобы получить дескриптор файла и сделать вашу программу немного переносимой, попробуйте
userprofile := os.Getenv("USERPROFILE")
f, err := os.Open(path.Join(userprofile, "myfile.txt"))
os.Getenv()
будет считывать переменную среды, а path.Join()
позаботится о правильном построении пути (поэтому не нужно делать \\
).
Вместо os.Getenv()
вы также можете посмотреть на os.LookupEnv()
. Это скажет вам, является ли переменная среды, которую вы ищете, пустой или просто не существует. Хороший пример того, как вы можете использовать это для установки значений по умолчанию, можно найти в этом ответе на SO.