Contekan Fungsi Penting Pada Bahasa Pemrograman Golang

  • 5 min read
  • Agu 24, 2023
fungsi-penting-yang-sering-digunakan-pada-bahasa-pemrograman-golang

Ini merupakan tulisan yang saya buat dengan maksud sebagai catatan saya pribadi sekaligus contekan saya sebagai developer yang jujurly tidak rajin menghapal, jadi jika saya perlu atau lupa bisa langsung cari sintax Golang nya disini.

Sekaligus untuk sharing dan mungkin membantu temen-temen juga yang sedang menggunakan bahasa pemrograman favorit Kita ini. Boleh langsung di Bookmark (CTRL + D) aja ya gaes atau boleh juga di share ke grup-grup, forum diskusi atau ke rekan-rekan lainnya.

Jadi, jika ada yang mau menambahkan catatan penting ini khususnya function atau syntax Golang yang kira-kira sering digunakan boleh juga cantumkan di komentar.

Konversi Tipe Data

Di bahasa pemrograman Golang, Anda dapat melakukan konversi antara berbagai tipe data dengan beberapa cara. Berikut ini adalah beberapa contoh konversi tipe data yang umum dilakukan dalam Golang:

1. Konversi Tipe Data Integer ke String

   main.go

   package main
   import "fmt"
   import "strconv"

   func main() {
       var num int = 123
       str := strconv.Itoa(num) // Konversi int ke string
       fmt.Println(str) // Output: "123"
   }

2. Konversi Tipe Data String ke Integer

  main.go
    package main
    import "fmt"
    import "strconv"
    
    func main() {
        var myword string = "34"
        num := strconv.Atoi(myword) // Konversi int ke string
        fmt.Println(num) // Output: 34
    }

3. Konversi Tipe Data String ke Byte

   main.go

   package main
   import "fmt"

   func main() {
       str := "Hello"
       byteSlice := []byte(str) // Konversi string ke byte slice
       fmt.Println(byteSlice) // Output: [72 101 108 108 111]
   }

4. Konversi Tipe Data Integer ke Bool

   main.go

   package main
   import "fmt"

   func main() {
       num := 1
       isTrue := num != 0 // Konversi int ke bool
       fmt.Println(isTrue) // Output: true
   }

5. Konversi Tipe Data Integer ke Float

   main.go

   package main
   import "fmt"

   func main() {
       var a int = 42
       var b float64 = float64(a) // Konversi int ke float64
       fmt.Println(b) // Output: 42
   }

6. Konversi Tipe Data Float ke Integer

   main.go

   package main
   import "fmt"

   func main() {
       var a float64 = 1.9
       var b int = int(a) // Konversi float64 ke int
       fmt.Println(b) // Output: 1
   }

7. Konversi TIpe Data Float ke String

   main.go

   package main
   import "fmt"

   func main() {
       var a float64 = 3.27236484
       var b string = strconv.FormatFloat(a, 'f', 2, 32) // Konversi float64 ke String
       fmt.Println(b) // Output: "3.27"
   }

Perlu diingat, pada contoh diatas bisa dilihat `strconv.FormatFloat(a, ‘f’, 2, 32)` parameter ke tiga dari FormatFloat merupakan nilai berapa banyak angka nol dibelakang koma, misal diisi 2 maka hasilnya `3.27`. Untuk lebih lengkapnya Kamu bisa baca dokumentasi strconv disini https://pkg.go.dev/strconv

8. Konversi TIpe Data String ke Float

   main.go

   package main
   import "fmt"

   func main() {
       var a string = "4353.01"
       if f, err := strconv.ParseFloat(a, 64); err == nil {
	 fmt.Println(f) //Output: 4353.01
       }
   }

Pada contoh diatas ParseFloat mempunyai2 parameter, yang pertama adalah inputan data dengan tipe String dan parameter ke dua adalah bitSize yang bisa Kamu isi 32 untuk konversi ke Float32 atau 64 untuk konversi ke Float64. Selengkapnya kamu bisa baca dokumentasi nya disini https://pkg.go.dev/strconv#ParseFloat

9. Konversi Tipe Data String ke Bool

   main.go

   package main
   import "fmt"

   func main() {
       v := "true"
       if b, err := strconv.ParseBool(v); err == nil {
	    fmt.Println(b) //Output: true
       }
   }

10. Konversi Tipe Data Bool ke String

main.go

   package main
   import "fmt"

   func main() {
       v := true
       s := strconv.FormatBool(v) // Output: "true"
   }

Penting untuk diingat bahwa tidak semua konversi tipe data selalu aman. Misalnya, konversi dari tipe data numerik besar ke tipe data yang lebih kecil dapat menyebabkan kehilangan data. Pastikan Anda memahami implikasi konversi tipe data yang Anda lakukan dan menghindari konversi yang dapat menyebabkan kesalahan atau hilangnya informasi.

Konversi Tipe Waktu

1. Konversi Tipe String Menjadi Tipe time.Time

main.go    

package main    
import "fmt"    

func main() {        
    myTime := "2023-08-28 11:09:05"
    s,_:= time.Parse("2006-01-02 15:04:05", myTime) // Output: 2023-08-28 11:09:05 +0700    
}

2. Mengecek Nilai Tipe Data time.Time

Sintax dasarnya seperti ini : func (t Time) IsZero() bool

if data.CreatedAt.IsZero() == true{
    fmt.Prinln("data kosong")
}else{
    fmt.Prinln("data Created At tidak kosong")
}

Binary Comparison Operators

Binary comparison operators dalam konteks bahasa pemrograman adalah operator-operator yang digunakan untuk membandingkan dua nilai atau ekspresi. Namun, dalam bahasa pemrograman Golang, binary comparison operators bukanlah fungsi (function), melainkan operator-operator yang terdefinisi sebagai bagian dari sintaksis bahasa.

Berikut adalah beberapa contoh binary comparison operators yang umum digunakan dalam bahasa pemrograman Golang:

1. Equal To (eq)

Memeriksa apakah dua nilai sama (==).
Contoh: `a == b`

2. Not Equal To (ne)

Memeriksa apakah dua nilai tidak sama (!=).
Contoh: `a != b`

3. Less Than (lt)

Memeriksa apakah nilai kiri lebih kecil dari nilai kanan (<).
Contoh: `a < b`

4. Less Than or Equal To (le)

Memeriksa apakah nilai kiri lebih kecil dari atau sama dengan nilai kanan (<=).
Contoh: `a <= b`

5. Greater Than (gt)

Memeriksa apakah nilai kiri lebih besar dari nilai kanan (>).
Contoh: `a > b`

6. Greater Than or Equal To (>=)

Memeriksa apakah nilai kiri lebih besar dari atau sama dengan nilai kanan.
Contoh: `a >= b`

Binary comparison operators digunakan untuk menghasilkan nilai boolean (true atau false) berdasarkan hasil perbandingan antara dua nilai atau ekspresi. Misalnya:

main.go

package main
import "fmt"

func main() {
    a := 5
    b := 7
    isEqual := (a == b) // false
    isNotEqual := (a != b) // true
    isLessThan := (a < b) // true
    isGreaterThan := (a > b) // false
    fmt.Println(isEqual, isNotEqual, isLessThan, isGreaterThan)
}

Dalam contoh di atas, kita menggunakan binary comparison operators untuk membandingkan nilai `a` dan `b`, dan hasilnya disimpan dalam variabel boolean. Ingatlah bahwa binary comparison operators tidak diimplementasikan sebagai fungsi, tetapi sebagai bagian integral dari bahasa pemrograman itu sendiri.

Merubah Tipe Data Map menjadi Slice

Di Go, Anda tidak bisa langsung mengkonversi tipe data `map` menjadi `slice`, karena keduanya adalah tipe data yang berbeda. Namun, Anda dapat membuat `slice` baru yang berisi nilai-nilai dari `map` menggunakan perulangan. Berikut adalah contoh cara melakukannya:

main.go

package main
import "fmt"

func main() {
    myMap := map[int]string{
        1: "one",
        2: "two",
        3: "three",
    }
    // Buat sebuah slice kosong
    var mySlice []string
    // Isi slice dengan nilai dari map
    for _, value := range myMap {
        mySlice = append(mySlice, value)
    }
    fmt.Println(mySlice) // Output: [one two three]
}

Pastikan Anda memahami bahwa pengurutan dalam `slice` tidak terjamin sama seperti dalam `map`, karena `map` adalah koleksi yang tidak berurutan.

Contekan Golang ini akan terus uptodate selama saya develop, karena masih banyak fungsi-fungsi Golang yang penting dan sering digunakan tapi sukar untuk diingat. Jadi jangan lupa di bookmark (CTRL + D) ya gaes biar bisa gampang dibuka dilain waktu.

Ingat yah selalu “Keep foolish and stay hungry” ya gaes 🙂