Go - Data Types: A Friendly Guide for Beginners
Hai pengguna yang ambil suai! Adakah anda bersedia untuk melangkah ke dalam dunia merayu Go programming? Hari ini, kita akan menjelajah satu konsep asas di Go: jenis data. Jangan khawatir jika anda belum pernah menulis satu baris kod sebelum ini - saya akan menghidangkan anda langkah demi langkah, seperti yang saya lakukan untuk banyak murid selama tahun-tahun pengajaran saya. Mari kita mula!
Apa Itu Jenis Data?
Sebelum kita masuk ke khususannya, mari kita memahami apa jenis data. Bayangkan anda sedang menguruskan satu pesta besar (menyenangkan, kan?). Anda perlu mencatat maklumat berbeza:
- Bilangan tetamu (sejumlah nombor bulat)
- Kos makanan per orang (nombor dengan pecahan)
- Sama ada ia adalah pesta keselamatan atau bukan (ya atau tiada)
- Nama tetamu kehormat (sejumlah huruf)
Dalam programming, kita menggunakan jenis data yang berbeza untuk mewakili jenis maklumat berbeza ini. Go, sebagai bahasa yang berhati, menyediakan kita beberapa jenis data untuk bekerja dengannya.
Jenis Integer
Mari kita mulakan dengan jenis integer. Jenis ini digunakan untuk nombor bulat, seperti bilangan tetamu di pesta kita.
Jenis Integer Asas
Go menyediakan beberapa jenis integer, yang berbeza dalam saiz dan sama ada mereka dapat mewakili nombor negatif atau bukan:
Jenis | Saiz (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 |
Mari kita lihat bagaimana kita dapat menggunakan ini dalam kod kita:
package main
import "fmt"
func main() {
var partyGuests int = 50
var smallPartyGuests int8 = 10
var hugePartyGuests uint64 = 1000000
fmt.Println("Tetamu biasa:", partyGuests)
fmt.Println("Tetamu kecil:", smallPartyGuests)
fmt.Println("Tetamu besar:", hugePartyGuests)
}
Dalam contoh ini, kita mengisytiharkan pembolehubah untuk menyimpan bilangan tetamu untuk jenis pesta yang berbeza. Jenis int
digunakan untuk pesta biasa, int8
untuk gathering kecil (sebab kita tahu ia tidak akan melampaui 127), dan uint64
untuk perayaan yang besar (just in case kita merancang satu acara kota-besar!)
Jenis 'int' dan 'uint'
Go juga menyediakan jenis int
dan uint
, yang sekurang-kurangnya 32 bit dalam saiz tetapi boleh lebih besar bergantung pada sistem. Mereka adalah pilihan yang paling mudah apabila anda tidak memerlukan saiz tertentu.
var flexibleNumber int = 42
var positiveFlexibleNumber uint = 42
Di sini, flexibleNumber
boleh positif atau negatif, manakala positiveFlexibleNumber
sentiasa bukan negatif.
Jenis Floating
Sekarang, mari kita bicarakan nombor pecahan. Jenis ini digunakan untuk nombor dengan titik perpuluhan, seperti kos per orang untuk makanan pesta kita.
Go menyediakan dua jenis pecahan:
Jenis | Saiz (bit) | Ketepatan |
---|---|---|
float32 | 32 | Separuh 7 digit perpuluhan |
float64 | 64 | Separuh 15 digit perpuluhan |
Mari kita lihat mereka dalam aksi:
package main
import "fmt"
func main() {
var costPerPerson float32 = 15.50
var totalBudget float64 = 1000.75
fmt.Printf("Kos per orang: $%.2f\n", costPerPerson)
fmt.Printf("Jumlah anggaran: $%.2f\n", totalBudget)
}
Dalam contoh ini, kita menggunakan float32
untuk kos per orang (sebab kita tidak memerlukan ketepatan ekstrim) dan float64
untuk anggaran keseluruhan (di mana kita mungkin memerlukan lebih banyak tempat perpuluhan untuk kalkulasi yang tepat).
Simbol %.2f
dalam Printf
memberitahu Go untuk memaparkan pecahan dengan dua tempat perpuluhan.
Jenis Numerik Lain
Go menyediakan beberapa jenis numerik lain yang berguna dalam situasi tertentu.
Nombor kompleks
Ya, Go boleh mengendalikan nombor kompleks! Ia menyediakan dua jenis:
Jenis | Deskripsi |
---|---|
complex64 | Nombor kompleks dengan float32 real dan imaginer |
complex128 | Nombor kompleks dengan float64 real dan imaginer |
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)
}
Walaupun anda mungkin tidak menggunakan nombor kompleks kerap, ia baik untuk mengetahui Go ada untuk anda jika anda perlu mereka!
Byte dan Rune
Go juga ada dua alias jenis integer yang digunakan dalam konteks tertentu:
Jenis | Alias untuk | Penggunaan biasa |
---|---|---|
byte | uint8 | Mewakili satu byte data |
rune | int32 | Mewakili satu titik kod Unicode |
Ini adalah bagaimana anda mungkin mengguna mereka:
package main
import "fmt"
func main() {
var b byte = 65
var r rune = 'A'
fmt.Printf("Byte %d mewakili: %c\n", b, b)
fmt.Printf("Rune %d mewakili: %c\n", r, r)
}
Dalam contoh ini, kedua-dua b
dan r
mewakili huruf 'A', tetapi dalam cara yang berbeza. Byte menggunakan nilai ASCII, manakala rune menggunakan titik kod Unicode.
Penutup
Wah! Kita telah menelusuri banyak tanah hari ini. Dari integer ke pecahan, dan bahkan nombor kompleks, Go menyediakan set yang kaya jenis data untuk bekerja dengannya. Ingat, memilih jenis data yang betul adalah seperti memilih alat yang betul untuk kerja - ia boleh membuat kod anda lebih efisyen dan mencegah kesalahan.
Sekiranya anda terus menjalankan perjalanan Go anda, anda akan menjadi lebih selesa dengan jenis-jenis ini dan belajar bila hendak mengguna setiap satu. Jangan khawatir jika ia merasa menakutkan pada permulaan - itu adalah sepenuhnya normal! Seperti belajar menunggang basikal, ia memerlukan latihan, tetapi sebelum anda tahu, anda akan melintasi kod Go seperti seorang pro.
Terus kod, terus belajar, dan terutamanya, bersenang-senang! Akhirnya, pengkomputeran adalah sedikit sebanyak seperti merancang pesta yang sempurna - ia tentang membawa unsur yang betul bersama untuk mencipta sesuatu yang menakjubkan. Selamat coding!
Credits: Image by storyset