Swift 4.2: что означает следующее объявление - PullRequest
0 голосов
/ 20 сентября 2018

Я новичок в Свифте и IOS, так что там много неизвестного.Что означает следующее заявление декларации?

private let _digest: (UInt64, UInt64)

Ответы [ 4 ]

0 голосов
/ 20 сентября 2018

Что вы в основном делаете, так это объявляете постоянную переменную - из-за ключевого слова let - называемого _digest, и вы присваиваете ей тип (UInt64, UInt64), который является кортеж с двумя переменными типа UInt64.

0 голосов
/ 20 сентября 2018

Это кортеж .Точно так же, как массив имеет индекс для элемента, эта переменная также может быть доступна с помощью оператора ., за которым следует индекс.

_digest.0
_digest.1

Однако, если вы хотите получить к ним доступ, используя имя, а нечем индекс, это также возможно.(Вы по-прежнему можете получить к нему доступ с помощью индекса)

private let _digest: (first: UInt64, second: UInt64)

_digest.first
_digest.second

Подробнее о Кортежи .

0 голосов
/ 20 сентября 2018

Это частная константа типа tuple , которая содержит два значения UInt64.

Вы можете прочитать о кортежах и других типах в Swift здесь

Пример:

let someTuple: (Double, Double) = (3.14159, 2.71828)

Использование:

print(someTuple.0) // 3.14159
0 голосов
/ 20 сентября 2018

Это tuple, который содержит два UInt64.

Кортеж - это группа различных значений, представленных как одно.Согласно Apple, тип кортежа - это разделенный запятыми список из нуля или более типов, заключенный в скобки.Это миниатюрная версия структуры.

let person = ("John", "Smith")

var firstName = person.0 // John
var lastName = person.1 // Smith

Кроме того, при необходимости возможен доступ к элементам по имени вместо индекса.

var person = (fName:"John", lName:"Smith", age:Int())
person.age = 33
print(person.fName) // John
print(person.lName) // Smith
print(person.age) // 33

Далее, тип кортежа:определяется ценностями, которые он имеет.Так ("tuple", 1, true) будет иметь type (String, Int, Bool).

Для получения дополнительной информации, пожалуйста, посетите здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...