Latest web development tutorials

โครงสร้างสวิฟท์

โครงสร้างสวิฟท์เป็นรหัสที่ใช้ในการสร้างโครงสร้างที่พบบ่อยและมีความยืดหยุ่น

เราสามารถกำหนดคุณสมบัติของโครงสร้าง (ค่าคงที่ตัวแปร) และเพิ่มวิธีการที่จะขยายโครงสร้างการทำงาน

C และวัตถุประสงค์ C จะแตกต่างกัน

  • โครงสร้างไม่จำเป็นต้องรวมไฟล์การดำเนินการและการเชื่อมต่อ

  • โครงสร้างช่วยให้เราสามารถสร้างไฟล์เดียวและระบบอัตโนมัติจะสร้างรหัสสำหรับการเชื่อมต่อภายนอกอื่น ๆ

โครงสร้างมักจะถูกจำลองแบบโดยวิธีการของการถ่ายโอนในรหัสดังนั้นค่าของมันไม่สามารถแก้ไขได้

ไวยากรณ์

เรากำหนดโครงสร้างผ่าน struct คำหลัก:

struct nameStruct { 
   Definition 1
   Definition 2
   ……
   Definition N
}

ตัวอย่าง

เรากำหนดโครงสร้างที่เรียกว่า MarkStruct โครงสร้างคุณสมบัติสำหรับนักเรียนที่จะทำคะแนนสามวิชาชนิดข้อมูล Int:

struct MarkStruct{
   var mark1: Int
   var mark2: Int
   var mark3: Int
}

เราสามารถมากับโครงสร้างโดยใช้ชื่อโครงสร้าง

ตัวอย่างของโครงสร้างที่ใช้คำให้:

import Cocoa

struct studentMarks {
   var mark1 = 100
   var mark2 = 78
   var mark3 = 98
}
let marks = studentMarks()
print("Mark1 是 \(marks.mark1)")
print("Mark2 是 \(marks.mark2)")
print("Mark3 是 \(marks.mark3)")

เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:

Mark1 是 100
Mark2 是 78
Mark3 是 98

ตัวอย่างเช่นเราเข้าถึง 'studentMarks' เพื่อผลสัมฤทธิ์ของนักเรียนผ่านชื่อโครงสร้าง สมาชิกโครงสร้างจะเริ่มต้นที่จะ mark1, Mark2, mark3 ชนิดข้อมูลจำนวนเต็ม

จากนั้นเราจะใช้ studentMarks โครงสร้างหลักLet () จะยกตัวอย่างและส่งผ่านไปยังเครื่องหมาย

สุดท้ายเราผ่านจำนวนมูลค่าให้กับสมาชิกเข้าถึงโครงสร้าง

ค่านิยมดั้งเดิมและการโคลนของโครงสร้างที่มีการยกตัวอย่างจากตัวอย่างต่อไปนี้ของโครงสร้าง:

import Cocoa

struct MarksStruct {
   var mark: Int

   init(mark: Int) {
      self.mark = mark
   }
}
var aStruct = MarksStruct(mark: 98)
var bStruct = aStruct // aStruct 和 bStruct 是使用相同值的结构体!
bStruct.mark = 97
print(aStruct.mark) // 98
print(bStruct.mark) // 97

เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:

98
97

การประยุกต์ใช้โครงสร้าง

ในรหัสของคุณคุณสามารถกำหนดโครงสร้างที่กำหนดเองชนิดข้อมูลของคุณ

ตัวอย่างของโครงสร้างอยู่เสมอในการกำหนดชนิดข้อมูลที่กำหนดเองของคุณผ่านค่า

ให้สอดคล้องกับกฎทั่วไปเมื่อสอดคล้องกับหนึ่งหรือมากกว่าเกณฑ์ต่อไปนี้พิจารณาโครงสร้างอาคาร:

  • วัตถุประสงค์หลักของโครงสร้างที่จะใช้ในการห่อหุ้มขนาดเล็กจำนวนข้อมูลที่เกี่ยวข้องกับค่าง่าย
  • เหตุผลที่จะคาดหวังว่าการกำหนดเช่นโครงสร้างหรือการถ่ายโอนข้อมูลที่ห่อหุ้มจะถูกคัดลอกไม่ได้อ้างถึง
  • ประเภทของค่าทรัพย์สินที่เก็บไว้ในโครงสร้างก็จะถูกคัดลอกไม่ได้อ้างถึง
  • โครงสร้างไม่จำเป็นต้องได้รับมรดกหรือทรัพย์สินอื่น ๆ ของพฤติกรรมที่มีอยู่แล้ว

ยกตัวอย่างเช่นสถานการณ์ต่อไปนี้สำหรับการใช้งานของโครงสร้าง:

  • ขนาดทางเรขาคณิตและรูปทรงของแพคเกจ width คุณสมบัติและ height ของสถานที่ซึ่งทั้งสองเป็น Double ประเภท
  • เส้นทางในช่วงหนึ่งแพคเกจ start คุณสมบัติและ length คุณสมบัติทั้งสองซึ่งเป็น Int ประเภท
  • ระบบสามมิติที่แพคเกจการประสานงาน x , y และ z คุณสมบัติสาม Double ประเภท

ตัวอย่างของโครงสร้างที่ถูกส่งผ่านโดยค่ามากกว่าโดยการอ้างอิง

import Cocoa

struct markStruct{
    var mark1: Int
    var mark2: Int
    var mark3: Int
    
    init(mark1: Int, mark2: Int, mark3: Int){
        self.mark1 = mark1
        self.mark2 = mark2
        self.mark3 = mark3
    }
}

print("优异成绩:")
var marks = markStruct(mark1: 98, mark2: 96, mark3:100)
print(marks.mark1)
print(marks.mark2)
print(marks.mark3)

print("糟糕成绩:")
var fail = markStruct(mark1: 34, mark2: 42, mark3: 13)
print(fail.mark1)
print(fail.mark2)
print(fail.mark3)

เอาท์พุทการทำงานของโปรแกรมข้างต้นเป็น:

优异成绩:
98
96
100
糟糕成绩:
34
42
13

ตัวอย่างข้างต้นเรากำหนด markStruct โครงสร้างสามสมาชิกของทรัพย์สิน: mark1, mark2 และ mark3 โครงสร้างในร่างกายโดยใช้คุณสมบัติสมาชิกใช้คำหลักตนเอง

จากตัวอย่างที่เราสามารถเข้าใจได้ดีเช่นโครงสร้างผ่านค่า