Membaca Input di Go

Agung Indrawan
3 min readNov 27, 2023

--

https://www.freecodecamp.org/news/content/images/2021/10/golang.png

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 :

--

--

Agung Indrawan
Agung Indrawan

Written by Agung Indrawan

0 Followers

Coffe makes me like a Hero

No responses yet