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.
- 1. Konversi Tipe Data
- 1.1 1. Konversi Tipe Data Integer ke String
- 1.2 2. Konversi Tipe Data String ke Integer
- 1.3 3. Konversi Tipe Data String ke Byte
- 1.4 4. Konversi Tipe Data Integer ke Bool
- 1.5 5. Konversi Tipe Data Integer ke Float
- 1.6 6. Konversi Tipe Data Float ke Integer
- 1.7 7. Konversi TIpe Data Float ke String
- 1.8 8. Konversi TIpe Data String ke Float
- 1.9 9. Konversi Tipe Data String ke Bool
- 1.10 10. Konversi Tipe Data Bool ke String
- 2. Konversi Tipe Waktu
- 3. Binary Comparison Operators
- 4. Merubah Tipe Data Map menjadi Slice
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 🙂