Rumah >pembangunan bahagian belakang >Golang >Apakah Kaedah Usang dan Moden untuk Mendapatkan Direktori Laman Utama Pengguna dalam Go?

Apakah Kaedah Usang dan Moden untuk Mendapatkan Direktori Laman Utama Pengguna dalam Go?

Linda Hamilton
Linda Hamiltonasal
2024-12-02 22:11:15636semak imbas

What are the Obsolete and Modern Methods for Getting a User's Home Directory in Go?

Pendekatan Usang dan Moden untuk Mendapatkan Kembali Direktori Laman Utama Pengguna

Kaedah yang disyorkan semasa untuk mendapatkan direktori rumah pengguna yang sedang berjalan adalah menggunakan fungsi UserHomeDir yang diperkenalkan dalam Go 1.12. Fungsi ini akan berfungsi pada semua platform yang Go sokong.

package main

import (
    "fmt"
    "log"
    "os"
)

func main() {
    dirname, err := os.UserHomeDir()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(dirname)
}

Sebelum Go 1.12, kaedah os.Getenv("HOME") boleh digunakan. Walau bagaimanapun, pendekatan ini kini dianggap usang dan harus dielakkan. Selain itu, ia tidak dijamin berfungsi pada platform bukan Linux, seperti Windows.

Satu lagi pendekatan lama yang telah ditamatkan dalam Go 1.13 ialah menggunakan fungsi pengguna.Current() daripada pakej pengguna.

package main

import (
    "fmt"
    "log"
    "os/user"
)

func main() {
    usr, err := user.Current()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(usr.HomeDir)
}

Sentiasa lebih suka menggunakan fungsi os.UserHomeDir() yang disyorkan untuk pendekatan yang paling boleh dipercayai dan merentas platform untuk mendapatkan semula direktori rumah pengguna.

Atas ialah kandungan terperinci Apakah Kaedah Usang dan Moden untuk Mendapatkan Direktori Laman Utama Pengguna dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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