Bagaimana untuk menentukan laluan fail Windows dalam aplikasi Go?

PHPz
Lepaskan: 2024-02-13 10:33:09
ke hadapan
477 orang telah melayarinya

如何在 Go 应用程序中指定 Windows 文件路径?

Menentukan laluan fail Windows dalam aplikasi bahasa Go tidaklah rumit. Pertama, kita perlu menggunakan fungsi Sertai dalam pakej laluan fail untuk menyambung laluan. Kemudian, kita boleh menggunakan fungsi Chdir dalam pakej os untuk menukar direktori kerja semasa ke laluan yang ditentukan. Akhir sekali, kita boleh menggunakan fungsi Stat dalam pakej os untuk menyemak sama ada laluan itu wujud. Ringkasnya, menentukan laluan fail Windows hanya memerlukan beberapa langkah mudah untuk diselesaikan. Jika anda ingin mengetahui lebih lanjut tentang cara untuk menentukan laluan fail Windows dalam aplikasi Go, teruskan membaca artikel ini dan kami akan memberikan anda jawapan terperinci.

Kandungan soalan

Saya cuba menentukan lokasi tingkap fail .kube/config untuk aplikasi klien go tanpa menyatakan laluan mutlak.

kubeconfig := flag.string("kubeconfig", "%userprofile%/.kube/config", "location to the kube config file")
Salin selepas log masuk

Keluaran:

panic: runtime error: invalid memory address or nil pointer dereference 
Salin selepas log masuk

Apabila saya menggunakan echo %userprofile%时,输出是c:users<username>,所以我认为这是因为/ dalam cmd penggunaan adalah berbeza dalam kod dan laluan. Saya cuba menentukan laluan menggunakan 而不是 / tetapi ia memberikan ralat sintaks.

Bolehkah seseorang mencadangkan saya penyelesaian untuk menggunakan pembolehubah persekitaran windows untuk menentukan laluan dalam aplikasi go? Terima kasih terlebih dahulu.

Penyelesaian

flag.string 的输出本身不会扩展环境变量,但您可以使用 os.expandenv 来做到这一点。但是 os.expandenv 要求您对环境变量使用 unix 表示法,即 $userprofile${userprofile}。您可以使用 filepath.clean Dapatkan laluan fail yang bersih untuk sistem pengendalian khusus kami (tetingkap dalam kes anda).

Contoh:

kubeconfig := flag.string("kubeconfig", "$userprofile/.kube/config", "location to the kube config file")
fmt.println(*kubeconfig)
fmt.println(os.expandenv(*kubeconfig))
fmt.println(filepath.clean(os.expandenv(*kubeconfig)))
Salin selepas log masuk

Ini akan mengeluarkan yang berikut pada tingkap:

$USERPROFILE/.kube/config
C:\Users\username/.kube/config
C:\Users\username\.kube\config
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk menentukan laluan fail Windows dalam aplikasi Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!