Swift структура
Swift структура является код, используемый для построения общего и гибкую структуру.
Мы можем определить свойства структуры (постоянные, переменные) и добавить методы расширения функциональной структуры.
C и Objective C отличается:
Структура не должна включать в файл реализации и интерфейсы.
Структура позволяет создать единый файл, и система будет автоматически генерировать код для других внешних интерфейсов.
Структура всегда быть воспроизведен путем передачи в коде, поэтому его значение не может быть изменено.
грамматика
Определим структуру через структуры ключевого слова:
struct nameStruct { Definition 1 Definition 2 …… Definition N }
примеров
Определим структуру, называемую MarkStruct, свойства структуры для студентов, чтобы набрать три предмета, тип данных Int:
struct MarkStruct{ var mark1: Int var mark2: Int var mark3: Int }
Мы можем прийти к структуре по имени структуры.
Примеры структуры с использованием ключевого слова: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)")
Выход выше выполнение программы:
Mark1 是 100 Mark2 是 78 Mark3 是 98
Пример, мы получаем доступ к 'studentMarks' для достижения студента через имя структуры. Элемент структуры инициализируется mark1, Mark2, Mark3, типа данных целого числа.
Затем мы используемВыпускаемое структуру ключевого слова studentMarks () экземпляра и передается метками.
И, наконец, мы передали номерзначение для доступа к члену структуры.
Традиционные ценности и клонированию структуры инстанциируется следующими примерами структуры:
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. Структура в естественных условиях с использованием свойств элемента Используйте ключевое слово само.
Из приведенных примеров мы можем хорошо понять экземпляр структуры передается по значению.