Array, Dictionary & Tuple

อยากเก็บของเยอะ ๆ ใช้ตัวแปรเดียว

Array

เมื่อเราต้องการเก็บข้อมูลประเภทเดียวกันแต่มีหลายอันเราจะใช้ Array ในการเก็บ

let stringArray: [String] = []

หรือ

let stringArray = [String]()

เราสามารถกำหนดค่าเริ่มต้นพร้อมกับประกาศตัวแปร เช่น เรามีลิสต์ของของที่ต้องซื้ออย่าง ปลา น้ำ และดอกไม้

var shoppingList: [String] = ["fish", "water", "flower", "cake"]

เนื่องจากของใน list เรามีแต่ String ทำให้เรา infer types แบบนี้

var shoppingList = ["fish", "water", "flower", "cake"]

เราสามารถอ้างถึงของใน Array ได้ด้วย index เป็น Int โดยเริ่มจาก 0 แบบนี้

let item = shoppingList[1]
// item = "water"

รวมทั้งการเปลี่ยนค่าใน Array ด้วย

shoppingList[1] = "bottle of water"

Index สามารถใช้ range ได้ด้วย อย่างเราต้องการเปลี่ยนตั้งแต่ Index ที่ 1 ถึง 3

shoppingList[1...3] = ["Bananas", "Apples"]
// shoppingList = ["fish", "Bananas", "Apples"]

นอกจากนี้ ยังมีฟังก์ชันอื่น ๆ ให้ใช้ด้วย เช่น append insert remove

Dictionary

สำหรับข้อมูลที่เก็บเป็นแบบ key value คู่กัน เราจะใช้ Dictionary หน้าตาแบบนี้

หรือ

เช่น

เราจะประกาศ Type คล้าย Array คืออยู่ใต้ [ และ ] เพียงแต่ต้องระบุ Type ของ Key และ Value คั่นด้วย :

และเช่นเดิม เราสามารถละการประกาศ Type ได้ด้วยความสามารถ infer types

เมื่อเราต้องการอ้างถึงจะคล้ายกับ Array เพียงแต่ว่าใช้ Key เป็น index ตาม Type ที่ประกาศ

ขณะเดียวกันเราสามารถเพิ่มหรือเปลี่ยนค่าผ่าน Key เช่นกัน

เนื่องจาก dictionary เก็บเป็น Key value เราจึงอาจจะไม่ได้ค่า value ในกรณีที่ไม่มี key ที่ระบุเก็บไว้อยู่ เราสามารถระบุค่า default ให้ได้ แบบนี

Tuple

ในบางครั้งเราต้องการเก็บของที่ Type ไม่เหมือนกัน แต่เป็นกลุ่มข้อมูลที่ใช้ด้วยกัน เราจะใช้ Tuple เช่น เรามี HTTP Error 404

เราสามารถอ้างของที่อยู่ใน Tuple ด้วย index เป็น Int ได้เหมือน Array เลย

แต่จะเห็นว่า เวลาอ่านเราจะอ่านไม่รู้เรื่อง เราสามารถใช้ label กำกับได้ แบบนี้

บางครั้งเราทำแบบนี้

Last updated