Bekerja dengan file dan direktori adalah tugas penting untuk aplikasi yang perlu menyimpan dan mengambil data. Go menyediakan paket filepath untuk operasi file path platform-independent. Paket ini mencakup fungsi untuk memanipulasi jalur file dan kompatibel dengan Windows, Linux, dan macOS.
Fungsi-fungsi yang termasuk filepath dapat menggabungkan, membagi, dan membersihkan jalur file untuk memastikannya valid. Paket ini juga memiliki fungsi untuk berjalan di direktori dan mencari file.
Pohon Direktori Berjalan
Itu Berjalan fungsi dari jalur file package menyediakan fungsionalitas untuk menjalankan pohon direktori dan melintasi file dan direktori dengan cara pre-order. Secara rekursif akan mengunjungi semua direktori di bawah root yang diberikan. Fungsi Walk mengambil direktori root dan fungsi yang mengambil jalur, contoh informasi file, dan contoh kesalahan.
kemasan utama
impor (
"fmt"
"jalur/jalur file"
"os"
)fungsiutama() {
// Mendefinisikan direktori root untuk memulai walk
akar := "."// Menggunakan fungsi Walk untuk menelusuri pohon direktori
salah := jalur file. Berjalan (akar, fungsi(jalur rangkaian, info. FileInfo, kesalahan kesalahan)kesalahan {
jika salah!= nol {
kembali berbuat salah
}// Mencetak nama setiap file atau direktori
fmt. Println (jalur)
kembalinol
})
// Memeriksa kesalahan
jika salah!= nol {
fmt. Cetakf("Kesalahan berjalan pohon direktori: %v\n", salah)
}
}
Program ini mendefinisikan direktori root sebagai direktori kerja saat ini. Itu utama fungsi melintasi direktori di direktori root dan mencetak nama file.
Mencocokkan File Dengan Pencocokan Pola
Anda dapat menggunakan Cocok berfungsi untuk mencocokkan nama file dengan pola. Sintaks pola didasarkan pada kesamaan sintaks file wildcard, yang menggunakan metakarakter, dikenal sebagai pola glob di lingkungan Unix.
kemasan utama
impor (
"fmt"
"jalur/jalur file"
)fungsiutama() {
// Mendefinisikan pola yang cocok
pola := "*.txt"// Menggunakan fungsi Match untuk mencocokkan pola pada file
cocok, err := filepath. Mencocokkan (pola, "file.txt")jika salah!= nol {
fmt. Cetakf("Galat pencocokan pola: %v\n", salah)
kembali
}
// Mencetak hasil pertandingan
jika cocok {
fmt. Cetak("Pola pencocokan file.")
} kalau tidak {
fmt. Cetak("File tidak cocok dengan pola.")
}
}
Itu utama fungsi cocok dengan nama file terhadap *.txt pola dan mencetak string tergantung pada hasil pernyataan bersyarat.
Membersihkan Jalur Dengan Fungsi Clean
Itu Membersihkan fungsi mengambil jalur file dan mengembalikan versi jalur yang dibersihkan dengan menghapus pemisah yang tidak perlu dan perubahan direktori, seperti . (direktori saat ini) dan .. (direktori induk) segmen.
Membersihkan jalur file berguna karena membantu menghindari kesalahan jika jalur berisi pemisah yang berlebihan atau segmen yang tidak valid, atau membuat jalur yang tidak bergantung pada direktori kerja saat ini.
kemasan utama
impor (
"fmt"
"jalur/jalur file"
)fungsiutama() {
// Membuat jalur dengan pemisah yang berlebihan dan segmen yang tidak valid
jalan := "/foo/bar//baz/.././qux/"// Membersihkan jalur
cleanPath := jalur file. Bersih (jalan)
// Mencetak jalur file asli dan yang dibersihkan
fmt. Cetak("Jalur asli:", jalur)
fmt. Cetak("Jalur yang dibersihkan:", cleanPath)
}
Itu jalur variabel adalah path file awal, dan Membersihkan fungsi membersihkan jalur variabel dan mengembalikan jalur file yang dibersihkan. Itu utama fungsi mencetak jalur file awal dan bersih.
Menggabungkan dan Memisahkan Jalur File di Go
Itu Bergabung Dan Membelah fungsi menyediakan fungsionalitas untuk menggabungkan dan memisahkan jalur file.
Fungsi Gabung mengambil sejumlah elemen jalur. Ini mengembalikan string jalur file tunggal yang dihasilkan dari penggabungan elemen-elemen tersebut menggunakan pemisah jalur yang sesuai untuk sistem operasi. Itu Bergabung fungsi berguna untuk membangun jalur file yang independen dari sistem file yang mendasarinya.
kemasan utama
impor (
"fmt"
"jalur/jalur file"
)fungsiutama() {
// Menentukan empat jalur file untuk operasi gabungan
jalur1 := "folder1"
jalur2 := "folder2"
jalur3 := "subfolder1"
jalur4 := "contoh.txt"// Menggabungkan keempat jalur file menjadi satu jalur
joinPath := jalur file. Gabung (jalur1, jalur2, jalur3, jalur4)
// Cetak jalur file terpadu
fmt. Cetak("Bergabung dengan Jalur:", joinPath)
}
Itu jalur1, jalur2, Dan jalur3 variabel adalah nama folder, dan jalur4 variabel adalah nama file. Itu Bergabung fungsi mengambil nama variabel jalur dan mengembalikan jalur file gabungan. Itu utama fungsi mencetak jalur file gabungan ke konsol dengan fmt kemasan.
Itu Membelah fungsi mengambil string jalur dan mengembalikan direktori jalur dan komponen nama file. Itu Membelah fungsi berguna untuk mengekstrak nama file atau menentukan direktori induk dari suatu file.
kemasan utama
impor (
"fmt"
"jalur/jalur file"
)
fungsiutama() {
// Menetapkan jalur file untuk operasi pemisahan
filePath := "/home/pengguna/dokumen/contoh.txt"
// Gunakan fungsi Split untuk memisahkan jalur file
// ke dalam direktori dan komponen filenya
dir, berkas := jalur berkas. Pisahkan (filePath)
// Cetak direktori dan komponen file
fmt. Cetak("Direktori:", arah)
fmt. Cetak("Mengajukan:", berkas)
}
Itu filePath variabel adalah jalur file asli, dan Membelah fungsi mengambil di filePath variabel dan mengembalikan direktori dan nama file sebagai string. Itu utama fungsi mencetak direktori dan nama file ke konsol.
Anda Dapat Memanipulasi File Teks Dengan Go
Di samping fungsionalitas sistem file, Go menyediakan paket untuk membantu Anda bekerja dengan berbagai jenis file, termasuk file teks.
Anda dapat menggunakan bufio paket ke operasi input dan output buffered pada file teks dan os paket untuk membuat file, di antara operasi lainnya.