อาร์เรย์สวิฟท์
สวิฟท์อาร์เรย์โดยใช้เสียงข้างมากของค่าที่เก็บไว้ในรายการสั่งซื้อของประเภทเดียวกัน ค่าเดียวกันสามารถปรากฏหลายครั้งในสถานที่ที่แตกต่างกันในอาร์เรย์
สวิฟท์อาร์เรย์ของกองกำลังตรวจพบชนิดขององค์ประกอบถ้าประเภทต่าง ๆ จะได้รับอาเรย์สวิฟท์ควรเป็นไปตามรูปแบบที่หลากหลายเช่นอาร์เรย์ <ธาตุ> องค์ประกอบที่ได้รับอนุญาตเท่านั้นในอาร์เรย์นี้ชนิดข้อมูลที่มีอยู่
ถ้าคุณสร้างอาร์เรย์และได้รับมอบหมายให้เป็นตัวแปรในการสร้างคอลเลกชันที่สามารถแก้ไข ซึ่งหมายความว่าเมื่อคุณสร้างอาร์เรย์คุณสามารถเพิ่มลบแก้ไขเปลี่ยนวิธีการอาร์เรย์ของรายการ ถ้าคุณกำหนดอาร์เรย์คงที่อาร์เรย์จะไม่ได้รับการเปลี่ยนแปลงและขนาดและเนื้อหาของอาร์เรย์ไม่สามารถแก้ไขได้
การสร้างอาร์เรย์
เราสามารถใช้ไวยากรณ์การสร้างการสร้างอาร์เรย์ที่ว่างเปล่าประกอบด้วยชนิดข้อมูลที่เฉพาะเจาะจง:
var someArray = [SomeType]()
ต่อไปนี้คือการสร้างขนาดเริ่มต้นของไวยากรณ์อาร์เรย์:
var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)
ตัวอย่างต่อไปนี้สร้างประเภทของ Int ขนาด 3 ค่าเริ่มต้นของ 0 อาร์เรย์ที่ว่างเปล่า:
var someInts = [Int](count: 3, repeatedValue: 0)
ตัวอย่างต่อไปนี้สร้างอาร์เรย์ที่มีสามองค์ประกอบนี้:
var someInts:[Int] = [10, 20, 30]
การเข้าถึงอาร์เรย์
เราสามารถเข้าถึงองค์ประกอบของอาร์เรย์ตามดัชนีของอาร์เรย์ไวยากรณ์เป็นดังนี้:
var someVar = someArray[index]
ดัชนีดัชนีเริ่มต้นที่ 0 และดัชนีของ 0 สอดคล้องกับองค์ประกอบแรกที่ดัชนี 1 สอดคล้องกับองค์ประกอบที่สองและอื่น ๆ
ตามตัวอย่างต่อไปนี้เราสามารถเรียนรู้วิธีการสร้างการเริ่มต้นเข้าถึงอาร์เรย์:
import Cocoa var someInts = [Int](count: 3, repeatedValue: 10) var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
第一个元素的值 10 第二个元素的值 10 第三个元素的值 10
ปรับเปลี่ยนอาร์เรย์
คุณสามารถใช้ผนวก () วิธีการหรือผู้ประกอบการที่ได้รับมอบหมาย + = เพิ่มองค์ประกอบที่ส่วนท้ายของอาร์เรย์ที่แสดงด้านล่างเราเริ่มต้นอาร์เรย์และเพิ่มองค์ประกอบ:
import Cocoa var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
第一个元素的值 20 第二个元素的值 30 第三个元素的值 40
นอกจากนี้เรายังสามารถปรับเปลี่ยนค่าขององค์ประกอบอาร์เรย์ดัชนีโดย:
import Cocoa var someInts = [Int]() someInts.append(20) someInts.append(30) someInts += [40] // 修改最后一个元素 someInts[2] = 50 var someVar = someInts[0] print( "第一个元素的值 \(someVar)" ) print( "第二个元素的值 \(someInts[1])" ) print( "第三个元素的值 \(someInts[2])" )
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
第一个元素的值 20 第二个元素的值 30 第三个元素的值 50
สำทับ
เราสามารถใช้สำหรับในวงย้ำกว่าทุกรายการในอาร์เรย์:
import Cocoa var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs.append("w3big") someStrs += ["Google"] for item in someStrs { print(item) }
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
Apple Amazon w3big Google
ถ้าเรายังต้องค่านิยมและค่าดัชนีรายการข้อมูลแต่ละท่านสามารถใช้สตริงการระบุ () วิธีการที่จะสำรวจอาร์เรย์ ตัวอย่างมีดังนี้
import Cocoa var someStrs = [String]() someStrs.append("Apple") someStrs.append("Amazon") someStrs.append("w3big") someStrs += ["Google"] for (index, item) in someStrs.enumerate() { print("在 index = \(index) 位置上的值为 \(item)") }
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
在 index = 0 位置上的值为 Apple 在 index = 1 位置上的值为 Amazon 在 index = 2 位置上的值为 w3big 在 index = 3 位置上的值为 Google
ผสานอาร์เรย์
เราสามารถใช้ประกอบการนอกจากนี้ (+) ที่จะรวมทั้งสองประเภทเดียวกันของอาร์เรย์ที่มีอยู่แล้ว ชนิดข้อมูลของอาร์เรย์ใหม่จะอนุมานจากชนิดข้อมูลของทั้งสองอาร์เรย์:
import Cocoa var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB for item in intsC { print(item) }
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
2 2 1 1 1
นับทรัพย์สิน
เราสามารถใช้คุณสมบัติการนับการคำนวณจำนวนขององค์ประกอบอาร์เรย์:
import Cocoa var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = intsA + intsB print("intsA 元素个数为 \(intsA.count)") print("intsB 元素个数为 \(intsB.count)") print("intsC 元素个数为 \(intsC.count)")
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
intsA 元素个数为 2 intsB 元素个数为 3 intsC 元素个数为 5
คุณสมบัติ isEmpty
เราสามารถคุณลักษณะอ่านอย่างเดียว isEmpty เพื่อตรวจสอบว่าอาร์เรย์เป็นที่ว่างเปล่ากลับค่าบูลีน:
import Cocoa var intsA = [Int](count:2, repeatedValue: 2) var intsB = [Int](count:3, repeatedValue: 1) var intsC = [Int]() print("intsA.isEmpty = \(intsA.isEmpty)") print("intsB.isEmpty = \(intsB.isEmpty)") print("intsC.isEmpty = \(intsC.isEmpty)")
เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:
intsA.isEmpty = false intsB.isEmpty = false intsC.isEmpty = true