Go - Tipe Data: Panduan Ramah untuk Pemula
Hai teman pecinta programming! Apakah Anda siap untuk memantulkan dunia menakjubkan pemrograman Go? Hari ini, kita akan mengexplore salah satu konsep fundamental di Go: tipe data. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan memandu Anda langkah demi langkah, seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar. Ayo mulai!
Apa Itu Tipe Data?
Sebelum kita masuk ke detilnya, mari kita pahami apa itu tipe data. Bayangkan Anda sedang mengatur sebuah pesta besar (menyenangkan, kan?). Anda perlu mencatat berbagai jenis informasi:
- Jumlah tamu (angka bulat)
- Biaya makan per orang (angka dengan desimal)
- Apakah itu pesta kejutan atau tidak (ya atau tidak)
- Nama tamu kehormatan (sejumlah huruf)
Dalam pemrograman, kita menggunakan tipe data yang berbeda untuk mewakili jenis informasi yang berbeda ini. Go, sebagai bahasa yang berhati-hati, menyediakan beberapa tipe data untuk kita kerjakan.
Tipe Integer
Ayo mulai dengan tipe integer. Ini digunakan untuk angka bulat, seperti jumlah tamu di pesta kita.
Tipe Integer Dasar
Go menawarkan beberapa tipe integer, berbeda dalam ukuran dan apakah mereka dapat mewakili angka negatif:
Tipe | Ukuran (bit) | Rentang |
---|---|---|
int8 | 8 | -128 hingga 127 |
int16 | 16 | -32,768 hingga 32,767 |
int32 | 32 | -2,147,483,648 hingga 2,147,483,647 |
int64 | 64 | -9,223,372,036,854,775,808 hingga 9,223,372,036,854,775,807 |
uint8 | 8 | 0 hingga 255 |
uint16 | 16 | 0 hingga 65,535 |
uint32 | 32 | 0 hingga 4,294,967,295 |
uint64 | 64 | 0 hingga 18,446,744,073,709,551,615 |
Lihat bagaimana kita dapat menggunakan ini dalam kode kita:
package main
import "fmt"
func main() {
var partyGuests int = 50
var smallPartyGuests int8 = 10
var hugePartyGuests uint64 = 1000000
fmt.Println("Tamu pesta biasa:", partyGuests)
fmt.Println("Tamu pesta kecil:", smallPartyGuests)
fmt.Println("Tamu pesta besar:", hugePartyGuests)
}
Dalam contoh ini, kita mendeklarasikan variabel untuk menyimpan jumlah tamu untuk jenis pesta yang berbeda. Tipe int
digunakan untuk pesta biasa, int8
untuk gathering kecil (karena kita tahu itu tidak akan melebihi 127), dan uint64
untuk perayaan besar (just in case kita merencanakan acara kota-wide!).
Tipe 'int' dan 'uint'
Go juga menyediakan tipe int
dan uint
, yang setidaknya 32 bit dalam ukuran tapi bisa lebih besar tergantung pada sistem. Mereka seringkali pilihan yang paling nyaman ketika Anda tidak memerlukan ukuran tertentu.
var flexibleNumber int = 42
var positiveFlexibleNumber uint = 42
Di sini, flexibleNumber
bisa positif atau negatif, sedangkan positiveFlexibleNumber
selalu non-negatif.
Tipe Floating
Sekarang, mari bicarakan tentang bilangan floating-point. Ini digunakan untuk bilangan dengan titik desimal, seperti biaya per orang untuk makanan pesta kita.
Go menyediakan dua tipe floating-point:
Tipe | Ukuran (bit) | Presisi |
---|---|---|
float32 | 32 | Kira-kira 7 digit desimal |
float64 | 64 | Kira-kira 15 digit desimal |
Lihat bagaimana mereka berkerja:
package main
import "fmt"
func main() {
var costPerPerson float32 = 15.50
var totalBudget float64 = 1000.75
fmt.Printf("Biaya per orang: $%.2f\n", costPerPerson)
fmt.Printf("Total anggaran: $%.2f\n", totalBudget)
}
Dalam contoh ini, kita menggunakan float32
untuk biaya per orang (karena kita tidak memerlukan presisi ekstrim) dan float64
untuk total anggaran (di mana kita mungkin memerlukan lebih banyak tempat desimal untuk perhitungan akurat).
Simbol %.2f
dalam Printf
mengatakan ke Go untuk menampilkan float dengan dua tempat desimal.
Tipe Numerik Lain
Go menyediakan beberapa tipe numerik lain yang berguna dalam situasi tertentu.
Bilangan Kompleks
Ya, Go bisa menangani bilangan kompleks! Itu menawarkan dua tipe:
Tipe | Deskripsi |
---|---|
complex64 | Bilangan kompleks dengan float32 real dan bagian imajiner |
complex128 | Bilangan kompleks dengan float64 real dan bagian imajiner |
Ini adalah contoh yang cepat:
package main
import "fmt"
func main() {
var c64 complex64 = 1 + 2i
var c128 complex128 = 3 + 4i
fmt.Println("Complex64:", c64)
fmt.Println("Complex128:", c128)
}
Meskipun Anda mungkin jarang menggunakan bilangan kompleks, itu bagus untuk mengetahui Go mendukung mereka jika Anda pernah membutuhkannya!
Byte dan Rune
Go juga memiliki dua alias untuk tipe integer yang digunakan dalam konteks tertentu:
Tipe | Alias untuk | Penggunaan Umum |
---|---|---|
byte | uint8 | Mewakili 1 byte data |
rune | int32 | Mewakili 1 kode poin Unicode |
Ini adalah cara Anda mungkin menggunakannya:
package main
import "fmt"
func main() {
var b byte = 65
var r rune = 'A'
fmt.Printf("Byte %d merepresentasikan: %c\n", b, b)
fmt.Printf("Rune %d merepresentasikan: %c\n", r, r)
}
Dalam contoh ini, b
dan r
keduanya merepresentasikan huruf 'A', tetapi dalam cara yang berbeda. Byte menggunakan nilai ASCII, sedangkan rune menggunakan kode poin Unicode.
Menutup
Wah! Kita telah meliputi banyak hal hari ini. Dari integer ke float, dan bahkan bilangan kompleks, Go menyediakan set data yang kaya untuk kerjakan. Ingat, memilih tipe data yang tepat seperti memilih alat yang tepat untuk pekerjaan - itu bisa membuat kode Anda lebih efisien dan mencegah kesalahan.
Sekarang Anda teruskan perjalanan Go Anda, Anda akan merasa nyaman dengan tipe ini dan belajar kapan untuk menggunakannya. Jangan khawatir jika itu terasa mengelilingkan pada awalnya - itu sangat normal! Seperti belajar menunggang sepeda, itu memerlukan latihan, tapi sebelum Anda mengetahui, Anda akan terus menerus melalui kode Go seperti seorang ahli.
Terus coding, terus belajar, dan terutama, bersenang-senang! Setelah semuanya, pemrograman agak mirip dengan merencanakan pesta sempurna - itu tentang mencampurkan unsur yang tepat untuk menciptakan sesuatu yang menakjubkan. Selamat coding!
Credits: Image by storyset