Package strings dan strconv di Golang

Ajitama DevAjitama Dev
3 min read

Setelah sebelumnya membahas fmt, errors, os, dan flag, kali ini kita akan membahas dua package penting lainnya dalam standard library Go, yaitu strings dan strconv. Keduanya sangat berguna untuk memproses dan memanipulasi string dan konversi data โ€” kebutuhan yang sangat umum dalam hampir semua aplikasi.


1. Package strings โ€“ Manipulasi String

Package strings berisi fungsi-fungsi untuk memanipulasi dan memeriksa string. Ini sangat membantu saat kamu bekerja dengan data teks, input dari user, atau saat parsing data.

๐Ÿ“ฆ Import

import "strings"

โœ‚๏ธ Fungsi-Fungsi Umum strings

FungsiDeskripsi
strings.Contains(s, substr)Cek apakah s mengandung substr
strings.HasPrefix(s, prefix)Cek apakah s diawali dengan prefix
strings.HasSuffix(s, suffix)Cek apakah s diakhiri dengan suffix
strings.ToLower(s)Ubah ke huruf kecil semua
strings.ToUpper(s)Ubah ke huruf besar semua
strings.Split(s, sep)Pecah string berdasarkan separator
strings.Join([]string, sep)Gabungkan slice string menjadi satu string
strings.ReplaceAll(s, old, new)Ganti semua old dengan new
strings.TrimSpace(s)Hapus spasi di awal dan akhir string

๐Ÿงช Contoh Penggunaan

package main

import (
    "fmt"
    "strings"
)

func main() {
    teks := "  Hello Golang World!  "

    fmt.Println(strings.Contains(teks, "Golang"))         // true
    fmt.Println(strings.HasPrefix(teks, "Hello"))         // false (ada spasi di awal)
    fmt.Println(strings.ToLower(teks))                    // "  hello golang world!  "
    fmt.Println(strings.TrimSpace(teks))                  // "Hello Golang World!"
    fmt.Println(strings.ReplaceAll(teks, "Golang", "Go")) // ganti Golang โ†’ Go

    daftar := "apel,pisang,jeruk"
    buah := strings.Split(daftar, ",")
    fmt.Println(buah) // [apel pisang jeruk]

    gabung := strings.Join(buah, " | ")
    fmt.Println(gabung) // "apel | pisang | jeruk"
}

2. Package strconv โ€“ Konversi Angka dan String

Package strconv sangat berguna untuk mengubah nilai dari string ke angka, dan sebaliknya. Ini sering dipakai saat membaca input, bekerja dengan API, atau menyimpan data.

๐Ÿ“ฆ Import

import "strconv"

๐Ÿ” Fungsi-Fungsi Umum strconv

FungsiDeskripsi
strconv.Itoa(int)Konversi int โ†’ string
strconv.Atoi(string)Konversi string โ†’ int
strconv.ParseBool(string)Konversi string โ†’ bool ("true", "false")
strconv.FormatFloat(float64, fmt, prec, bitSize)Konversi float โ†’ string
strconv.ParseFloat(string, bitSize)Konversi string โ†’ float64

๐Ÿงช Contoh Penggunaan

package main

import (
    "fmt"
    "strconv"
)

func main() {
    // int ke string
    umur := 25
    s := strconv.Itoa(umur)
    fmt.Println("Umur saya adalah " + s)

    // string ke int
    angka, err := strconv.Atoi("123")
    if err == nil {
        fmt.Println("Hasil:", angka+10)
    }

    // string ke bool
    b, _ := strconv.ParseBool("true")
    fmt.Println("Boolean:", b)

    // float ke string
    f := 3.14159
    fs := strconv.FormatFloat(f, 'f', 2, 64)
    fmt.Println("Pi:", fs)

    // string ke float
    pi, _ := strconv.ParseFloat("3.14", 64)
    fmt.Println("Float:", pi*2)
}

๐Ÿ“Œ Tips Pemula

  • Selalu cek error saat konversi string ke angka (Atoi, ParseFloat, dll).

  • Gunakan strings.TrimSpace() sebelum parsing angka dari input user.

  • strings.Split() dan Join() sangat berguna saat parsing CSV atau query.

  • strconv.Itoa() = Integer to ASCII (alias string).


Kesimpulan

Dua package ini adalah fondasi penting untuk manipulasi data teks dan angka:

PackageFungsi Utama
stringsProses dan ubah string
strconvKonversi antar string dan tipe data (int, float, bool)

Dengan menguasai keduanya, kamu bisa menangani input/output, parsing data, dan memformat informasi dengan lebih fleksibel.

0
Subscribe to my newsletter

Read articles from Ajitama Dev directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ajitama Dev
Ajitama Dev