Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Cara Ubah String Jadi Integer di Go (Dengan Aman)

1 min read .
Cara Ubah String Jadi Integer di Go (Dengan Aman)

Waktu ngoding Go, sering banget saya ketemu kasus di mana angka datangnya dalam bentuk string. Misalnya: input dari user, data dari file, atau respons API. Nah, supaya bisa diolah (ditambah, dikali, atau dicek logikanya), saya harus ubah dulu string itu jadi integer.

Untungnya, Go udah nyediain fungsi-fungsi siap pakai lewat paket strconv. Mari kita bahas cara paling sering dipakai.

1. Pakai strconv.Atoi()

Ini cara paling simpel. Atoi singkatan dari ASCII to integer. Fungsi ini nerima string, balikin integer, plus error kalau parsing gagal.

Contoh:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "123"
	num, err := strconv.Atoi(str)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	fmt.Println("Angkanya adalah:", num)
}

Kalau string berisi angka valid, hasilnya oke. Tapi kalau ada karakter aneh (misalnya "12a"), dia bakal balikin error. Jadi jangan lupa dicek.

2. Pakai strconv.ParseInt()

Butuh lebih fleksibel? Misalnya mau parsing angka dengan basis lain (biner, heksadesimal) atau atur ukuran bit tertentu (int8, int32, dst). Gunakan strconv.ParseInt().

Contoh:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "123"
	num, err := strconv.ParseInt(str, 10, 0)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	fmt.Println("Angkanya adalah:", num)
}

Parameternya:

  • "123" → string yang mau diubah
  • 10 → basis (pakai 10 untuk desimal, 2 untuk biner, 16 untuk heksa, dll)
  • 0 → ukuran bit (0 = otomatis sesuai int di sistem)

Hasil dari ParseInt berupa int64, jadi kalau butuh tipe lain, tinggal cast.

3. Pakai strconv.ParseUint()

Kalau angkanya unsigned (nggak mungkin negatif), gunakan ParseUint(). Caranya sama persis dengan ParseInt(), cuma hasilnya berupa uint64.

Contoh:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "123"
	num, err := strconv.ParseUint(str, 10, 0)
	if err != nil {
		fmt.Println("Error:", err)
		return
	}
	fmt.Println("Unsigned integer:", num)
}

Ringkasnya

  • Atoi() → jalan cepat kalau cuma butuh int.
  • ParseInt() → buat kontrol lebih, termasuk basis dan ukuran bit.
  • ParseUint() → khusus angka positif tanpa tanda minus.

Yang paling penting: jangan abaikan error. Soalnya input dari luar sering nggak bisa dipercaya. Dengan nge-handle error, programmu jadi lebih kuat dan aman.

Lihat Juga

chevron-up