Membaca Input di Go
Di bahasa pemrograman Go, package proses input telah disediakan di standard library Go yaitu Format Package(fmt).
Package fmt menyediakan format input serta output untuk melakukan format string seperti fmt.Println(), fmt.Scan(), fmt.Sprintf() dan lainnya.
Go fmt.Scan()
Salah satu cara untuk membaca input di Go yaitu menggunakan fmt.Scan(). fungsi fmt.Scan() dapat membaca tipe data seperti integer, float, ataupun string.
package main
import "fmt"
func main() {
var input string
fmt.Scan(&input) // membaca input dan memyimpannya di variable input diikuti dengan pointer
fmt.Println(input) // cetak variable input
}
Input : golang
Ouput : golang
Untuk membaca input data lebih dari satu dapat dilakukan dengan cara sebagai berikut.
package main
import "fmt"
func main() {
var country string
var city string
fmt.Scan(&country, &city) // membaca input dua variable sekaligus dalam satu baris
fmt.Println(country)
fmt.Println(city)
}
Input : Indonesia Jakarta
Output : Indonesia Jakarta
Go Bufio Scanner
Untuk membaca input dalam suatu kalimat tentunya dengan menggunakan fungsi fmt.Scan() tidak dapat dilakukan karena fungsi fmt.Scan() hanya membaca input yang diakhiri dengan baris baru atau spasi.
Dapat dilihat pada contoh sebelumnya bahwa input yang dimasukkan “Indonesia Jakarta” didefinisikan sebagai dua variable yang terpisah yaitu variable country dan city karena input yang dimasukkan dipisahkan dengan karakter spasi. Salah satu package yang dapat digunakan untuk membaca sebuah kalimat yaitu Bufio.
Berikut ini adalah contoh implementasi bufio untuk membaca kalimat di Go.
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
var s string
scanner := bufio.NewScanner(os.Stdin)
scanner.Scan()
s = scanner.Text()
fmt.Println(s)
}
Input : Belajar bahasa pemrograman Go
Output : Belajar bahasa pemrograman Go
Membaca File di Go
Dalam membuat sebuah pemrograman tentunya kita pernah dihadapkan dengan sebuah kasus untuk membaca isi dari sebuah file seperti json, xml, yaml dan env. Di bahasa Go, untuk membaca isi file kita dapat menggunakan sebuah package yaitu OS yang merupakan standard library di Go.
Pertama-tama kita buat file terlebih dahulu dengan nama “string” dengan ekstensi txt. Di dalam file tersebut kita akan mengisikan sebuah string “belajar bahasa pemrograman go” yang nantinya dibaca dari kode pemrograman Go menggunakan package OS.
file string.txt
belajar bahasa pemrograman go
package main
import (
"fmt"
"os"
)
func main() {
readFile, _ := os.ReadFile("./string.txt") // membaca input dari file string.txt
fmt.Println(string(readFile)) //cetak isi file dari string.txt
}
Output : belajar bahasa pemrograman go
Pada kode diatas, fungsi os.ReadFile() menghasilkan dua variable yaitu variable pertama berisi isi file yang bertipe slice byte dan variable kedua berisi sebuah error. Namun, kode diatas variable error tersebut diabaikan dengan menginialisasinya dengan karakter “_”.
Selanjutnya variable readFile tersebut kita cetak dengan menggunakan fungsi fmt.Println(). Untuk variable readFile kita perlu memformatnya dari slice byte ke string dengan menggunakan fungsi string().
Sumber Referensi :