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!

Go - Data Types

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