Panduan untuk Bekerja Dengan File Teks di Go

Panduan untuk Bekerja Dengan File Teks di Go

Sebagai bahasa pemrograman, Go memiliki berbagai fitur bawaan, termasuk kemampuan untuk membuat, membaca, dan menulis file seperti file teks (.txt).





File adalah komponen penting dari kehidupan kita sehari-hari di dunia modern. File teks berguna untuk menyimpan data terstruktur yang dapat dibaca manusia tanpa menggunakan perangkat lunak atau database eksternal.





klien email gratis untuk windows 10
VIDEO MAKEUSEOF HARI INI

Jika Anda bertanya-tanya bagaimana Anda bisa mulai memanipulasi file teks di Go, artikel ini adalah tempat yang tepat untuk Anda.





Paket bufio di Go

Itu bufio package, yang merupakan bagian dari library standar Go, digunakan untuk operasi input dan output buffer, oleh karena itu namanya. Itu bufio paket dibangun di atas io.Pembaca dan io.Penulis antarmuka, yang banyak digunakan dalam implementasi sebagian besar paket standar Go.

Itu bufio package melangkah lebih jauh dengan mengimplementasikan buffering, membuatnya berguna untuk operasi IO yang melibatkan data tekstual.



Untuk menggunakan bufio paket di program Anda, Anda harus mengimpornya bersama paket lain.

import ( 
"fmt"
"bufio"
)

Anda mungkin mendengar ketika Anda memulai dengan Go bahwa ia datang dengan segala sesuatu yang mungkin Anda butuhkan sebagai seorang programmer. Untuk komunikasi langsung dengan sistem operasi Anda, ada paket yang disebut Anda yang menyediakan fungsi platform-independen.





Itu Anda dan bufio paket membuat manipulasi file teks menjadi sangat sederhana.

mengapa media sosial baik untuk masyarakat

Meskipun sebagian besar dari Anda fungsi paket mirip dengan Unix, semuanya menggunakan gaya penanganan kesalahan Go, yang membuatnya mudah untuk membaca pesan kesalahan dan kode debug.





Jadi, bagaimana Anda memanipulasi file yang berisi teks di Go?

Cara Membaca Data Dari File Teks

Untuk membaca data dari file teks, Anda perlu memanggil Anda paket Membuka() fungsi, yang menerima nama file untuk dibaca sebagai parameter. Metode lain untuk mendapatkan file adalah dengan menggunakan Membuka file() fungsi.

Perbedaan utama antara Membuka() dan Membuka file() ada dalam pelaksanaannya. Membuka() membuka file dalam mode read-only (dengan O_RDONLY bendera), sedangkan Membuka file() memberikan lebih banyak fleksibilitas dengan menerima tiga parameter yaitu:

windows tidak dapat secara otomatis mendeteksi pengaturan proxy
  • Nama file
  • Mode buka file: Mode buka file yang valid ditunjukkan pada tabel di bawah.
    Bendera Arti
    O_RDONLY Membuka file dalam mode hanya baca
    O_SALAH Membuka file dalam mode hanya-tulis
    O_RDWR Membuka file dalam mode baca-tulis
    O_APPEND Menambahkan data ke file saat menulis
    O_CREATE Membuat file baru jika tidak ada
    O_EXCL Digunakan dengan O_CREATE, untuk menunjukkan bahwa file hanya boleh dibuat jika tidak ada
    O_SYNC Membuka file untuk I/O sinkron
    O_TRUNC Potong file saat terbuka, jika memungkinkan
  • Izin file: Sama seperti bit izin file di Linux digunakan untuk menentukan aturan akses file, misalnya, 0777 untuk memberikan izin baca, tulis, dan eksekusi ke semua tipe pengguna.

Kode di bawah ini menunjukkan cara membaca data dari file teks di Go menggunakan os.Buka() , dan Pindai() yang dalam hal ini, berjalan di Pergi untuk lingkaran .

package main 
import (
"bufio"
"fmt"
"log"
"os"
)
/**
CONTENT OF THE "testfile.txt" file.
lorem ipsum dolor sit amet
LOREM IPSUM DOLOR SIT AMET
Lorem ipsum dolor sit amet
Lorem Ipsum Dolor Sit Amet
lOREM iPSUM dOLOR sIT aMET
LoReM IpSuM DoLoR SiT AmEt
*/
func main() {
file, err := os.Open("testfile.txt")
// another method using os.OpenFile()
// file, err = os.OpenFile("testfile.txt", os.O_RDONLY, 0644)
if err != nil {
log.Fatal(err)
}
defer file.()
fmt.Println("File opened successfully. Now reading file contents line by line:")
// create scanner from the file to read text from
scanner := bufio.NewScanner(file)
// scan or read the bytes of text line by line
for scanner.Scan() {
fmt.Println(scanner.Text())
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}

Saat Anda menjalankan kode di atas dengan jalankan nama file.go , itu menghasilkan output yang ditunjukkan di bawah ini:

  Output program untuk membaca teks dari file