Array สำหรับภาษา Go
ข้อมูลแบบ array
จริงๆเรื่องนี้เป็นเรื่องที่สำคัญมากๆ พี่บอสเลยขอหยิบเอา array ออกมาอีกโพสแล้วกันเพราะว่าใช้กันบ่อยๆ
array เป็นข้อมูลพื้นฐานสำหรับภาษา Golang ที่ทำหน้าที่เก็บข้อมูลเป็นลำดับของข้อมูลประเภทเดียวกันและกำหนดขนาดหรือจำนวนข้อมูลที่อยู่ภายใน array เอาไว้คงที่ตั้งแต่ต้น เข้าถึงได้โดยใช้หมายเลข index
ประเภทข้อมูล array
Golang ใช้ [เลขบอกจำนวนสมาชิก] เอาไว้หน้าชื่อประเภทข้อมูล เพื่อบอกว่าประเภทข้อมูลที่เราต้องการจริงๆคือ array ของข้อมูลนั้น ที่มีจำนวนตามที่กำหนดภายใน [] ซึ่งถ้าจำนวนภายใน [] ต่างกัน ถือว่าเป็นข้อมูลคนละแบบกัน เช่น
[10]int แทน array ของ int จำนวน 10 ตัว
[3]int แทน array ของ int จำนวน 3 ตัว
[5]string แทน array ของ string จำนวน 5 ตัว
[1000]byte แทน array ของ byte จำนวน 1000 ตัว
ส่วนค่าคงที่ของ array จะใช้ { n1, n2, …} ตามหลังประเภทข้อมูลซึ่ง n1, n2 เป็นข้อมูลที่อยู่ภายใน array
ตัวอย่างการประกาศตัวแปรเช่น
var list [10]int
pair := [2]int {1,2}
จากตัวอย่าง list และ pair ถือว่าเป็นข้อมูลคนละแบบ เพราะขนาดของ int ไม่เท่ากัน list มี 10 pair มี 2
การเข้าถึงข้อมูลใน array
ส่วนการเข้าถึงข้อมูลภายใน array ทีละตำแหน่ง จะใช้เลขจำนวนเต็มบอก index ซึ่งจะเริ่มต้นที่ 0 เช่น
list[0] = 20
list[1] = 30
i = 0
fmt.Println(list[i])
ใช้ for range ช่วยวนลูปเข้าถึงข้อมูลภายใน array
เราสามารถใช้ for และ range ช่วยวนลูปเข้าถึง index และค่า ที่อยู่ภายใน array ได้เช่น
for i, v := range list {
}
ซึ่งเมื่อกำหนดค่าแบบ multiple value สองค่า ให้เท่ากับ range ที่ตามด้วยตัวแปร array เช่น range list จะทำให้ตำแหน่งแรกของค่าที่กำหนด คือ i จะได้ค่า index ของ array ในแต่ละรอบ โดยเริ่มที่ 0 และ ตำแหน่งที่สอง v จะได้ค่าข้อมูลภายใน array ในแต่ละรอบ ถ้าเราต้องการใช้แค่ index หรือค่า ให้ใช้ _ แทนชื่อตัวแปรในตำแหน่งนั้นเช่น ต้องการใช้แค่ ค่าใน array ทำได้แบบนี้
for _, v := range list {
}
สรุป!!
จะเห็นว่า array ของ Golang จะคล้ายๆกับ Java และ C แต่ Go เลือกที่จะให้ array เป็นข้อมูลที่ fix ขนาดของจำนวนข้อมูลที่อยู่ภายใน array เท่านั้น เดี๋ยวคราวหน้าเราจะมาดูข้อมูลแบบ slice ที่เอาไว้จัดการ array โดยไม่จำเป็นต้อง fix ขนาดตายตัวกันอีกที
ความคิดเห็น
แสดงความคิดเห็น