Struktur pantas


Struktur pantas ialah binaan serba boleh dan fleksibel untuk kod bangunan.

Kita boleh mentakrifkan sifat (pemalar, pembolehubah) dan menambah kaedah pada struktur untuk memanjangkan kefungsian struktur.

Perbezaan daripada C dan Objektif C ialah:

  • Struktur tidak perlu mengandungi fail pelaksanaan dan antara muka. Struktur

  • membolehkan kami mencipta satu fail dan sistem secara automatik akan menjana antara muka luaran kepada kod lain.

Struktur sentiasa dihantar dalam kod dengan disalin, jadi nilainya tidak boleh diubah suai.

Syntax

Kami mentakrifkan struktur melalui struct kata kunci:

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

Instance

Kami mentakrifkan struktur bernama MarkStruct, The attributes of the struktur ialah markah pelajar dalam tiga mata pelajaran, dan jenis data ialah Int:

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

Kita boleh mengakses ahli struktur melalui nama struktur.

Struktur dibuat seketika menggunakan kata kunci let:

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)")

Hasil keluaran pelaksanaan program di atas ialah:

Mark1 是 100
Mark2 是 78
Mark3 是 98

Dalam contoh , kami lulus nama struktur 'studentMarks' mengakses markah pelajar. Ahli struktur dimulakan sebagai mark1, mark2, mark3, dan jenis data ialah integer.

Kemudian kami membuat instantiat struktur studentMarks() dan menghantarnya ke tanda dengan menggunakan kata kunci let.

Akhir sekali, kami mengakses nilai ahli struktur melalui nombor ..

Instasiasi berikut melepasi nilai apabila menginstant struktur dan mengklon struktur:

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

Hasil keluaran pelaksanaan program di atas ialah:

98
97

Aplikasi struktur

Dalam kod anda, anda boleh menggunakan struktur untuk menentukan jenis data tersuai anda.

Kejadian struktur sentiasa dihantar mengikut nilai untuk menentukan jenis data tersuai anda.

Sebagai garis panduan umum, sila pertimbangkan untuk membina struktur apabila satu atau lebih syarat berikut dipenuhi:

  • Tujuan utama struktur adalah untuk merangkum bahagian kecil bilangan nilai data ringkas yang berkaitan.

  • Ada sebab untuk menjangkakan bahawa apabila tika struktur ditetapkan atau diluluskan, data yang terkandung akan disalin dan bukannya dirujuk.

  • Sebarang atribut jenis nilai yang disimpan dalam struktur juga akan disalin dan bukannya dirujuk.

  • Sesuatu struktur tidak perlu mewarisi sifat atau tingkah laku jenis lain yang sedia ada.

Sebagai contoh, struktur sesuai digunakan dalam situasi berikut:

  • Saiz bentuk geometri, merangkum atribut width dan heightAtribut, kedua-duanya jenis Double.

  • Laluan dalam julat tertentu merangkumi atribut start dan atribut length, yang kedua-duanya berjenis Int.

  • ialah titik dalam sistem koordinat tiga dimensi, merangkum atribut x, y dan z, ketiga-tiganya adalah daripada jenis Double.

Kejadian struktur diluluskan mengikut nilai dan bukannya rujukan.

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)

Hasil keluaran pelaksanaan program di atas ialah:

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

Dalam contoh di atas, kami mentakrifkan struktur markStruct, dengan tiga atribut ahli: mark1, mark2 dan mark3. Apabila menggunakan sifat ahli dalam struktur, gunakan kata kunci diri.

Daripada contoh, kita boleh memahami dengan baik bahawa tika struktur diluluskan oleh nilai.