嗨,大家好!歡迎來到 Go 語言的世界!如果你剛開始學寫程式,可能會覺得要管理好多好多資料很頭痛。別擔心,今天我們要介紹一個超強大的工具,叫做 struct
,它能幫我們把亂七八糟的資料整理得乾乾淨淨!
想像一下:你有一台遙控車
這台車有哪些特性?
如果我們要用程式來描述這台車,可能會寫成這樣:
var battery = 100
var speed = 5
var batteryDrain = 2
var distance = 0
這樣寫沒錯,但如果我們有第二台、第三台車呢?那變數不就滿天飛,搞不清楚誰是誰了嗎?
這就是 struct
派上用場的時候了!
Struct
在 Go 語言中,就像一個「藍圖」或「模具」。你可以用它來設計一個包含多種屬性的新東西。
讓我們用 struct
來設計一台「遙控車」的藍圖:
// 告訴 Go:我要設計一個新的東西,叫做 "Car"
type Car struct {
// 裡面包含了這四個屬性 (我們稱之為 "欄位")
battery int
batteryDrain int
speed int
distance int
}
看!我們把所有跟車子相關的資料都「打包」進 Car
這個 struct
裡了。從現在起,Car
就是我們自己創造的一種資料型別,就像 int
(整數) 或 string
(字串) 一樣。
有了藍圖,我們就可以開始「製造」實體的車子了。我們通常會寫一個專門用來製造車子的「工廠函式」,確保每一台新車都有標準的初始狀態。
// NewCar 是一個工廠,專門製造新的 Car
func NewCar(speed, batteryDrain int) Car {
// 回傳一台設定好的 Car
return Car{
speed: speed, // 速度和耗電由我們決定
batteryDrain: batteryDrain,
battery: 100, // 新車的電池都是 100% 滿的!
distance: 0, // 還沒跑,所以距離是 0
}
}
現在,我們可以在主程式中,輕鬆地製造出不同性能的車子了!
func main() {
// 製造一台「紅色閃電」,速度快但耗電
redLightning := NewCar(10, 5)
// 製造一台「綠色烏龜」,速度慢但省電
greenTurtle := NewCar(3, 1)
// 你可以印出來看看它們的初始狀態
fmt.Println("紅色閃電:", redLightning)
fmt.Println("綠色烏龜:", greenTurtle)
}
第一篇總結:
Struct
是一種自定義的資料型別,能將相關的資料打包在一起。NewCar
)來方便地建立 struct
的實體。恭喜你~~你已經學會了如何用 struct
來組織你的資料了!在下一篇文章中,我們將學習如何讓這台遙控車真正地「動」起來,並揭開 Go 語言中一個更強大、更專業的秘密!