Latest web development tutorials

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. Структура в естественных условиях с использованием свойств элемента Используйте ключевое слово само.

Из приведенных примеров мы можем хорошо понять экземпляр структуры передается по значению.