Swift строка
Swift представляет собой набор строк символов. Например, набор значений типа символов "Hello, World!" Так приказал, тип данных типаString.
Создание строк
Вы можете создать экземпляр строки, используя строковый литерал или строка класса:
import Cocoa // 使用字符串字面量 var stringA = "Hello, World!" print( stringA ) // String 实例化 var stringB = String("Hello, World!") print( stringB )
Выход выше выполнение программы:
Hello, World! Hello, World!
Пустая строка
Вы можете использовать пустой символьной строки присваивается переменной или инициализировать экземпляр класса Струнный к исходному значению пустой строки. Мы можем использовать IsEmpty строковое свойство, чтобы определить, является ли строка пустой:
import Cocoa // 使用字符串字面量创建空字符串 var stringA = "" if stringA.isEmpty { print( "stringA 是空的" ) } else { print( "stringA 不是空的" ) } // 实例化 String 类来创建空字符串 let stringB = String() if stringB.isEmpty { print( "stringB 是空的" ) } else { print( "stringB 不是空的" ) }
Выход выше выполнение программы:
stringA 是空的 stringB 是空的
Константы строк
Вы можете присвоить строку переменной или постоянной переменной является изменяемым, константы не могут быть изменены.
import Cocoa // stringA 可被修改 var stringA = "本教程:" stringA += "http://www.w3big.com" print( stringA ) // stringB 不能修改 let stringB = String("本教程:") stringB += "http://www.w3big.com" print( stringB )
Выход выше ошибки выполнения программы приведет, что постоянное stringB не может быть изменен:
error: left side of mutating operator isn't mutable: 'stringB' is a 'let' constant stringB += "http://www.w3big.com"
Вставьте значение строки
Строка интерполяции представляет собой новый способ для создания строки, которая может содержать константы, переменные, литералы и выражения в нем. Каждый вставить ваши строковые литералы с префиксом обратной косой чертой в скобках:
import Cocoa var varA = 20 let constA = 100 var varC:Float = 20.0 var stringA = "\(varA) 乘于 \(constA) 等于 \(varC * 100)" print( stringA )
Выход выше выполнение программы:
20 乘于 100 等于 2000.0
объединение строк
Строки могут быть соединены знаком+, примеры заключаются в следующем:
import Cocoa let constA = "本教程:" let constB = "http://www.w3big.com" var stringA = constA + constB print( stringA )
Выход выше выполнение программы:
本教程:http://www.w3big.com
длина строки
Максимальная длина строки вычисляется с использованиемString.characters.count свойств, примерами являются следующие:
import Cocoa var varA = "www.w3big.com" print( "\(varA), 长度为 \(varA.characters.count)" )
Выход выше выполнение программы:
www.w3big.com, 长度为 14
Сравнение строк
Вы можете использовать== сравнить две строки равны:
import Cocoa var varA = "Hello, Swift!" var varB = "Hello, World!" if varA == varB { print( "\(varA) 与 \(varB) 是相等的" ) } else { print( "\(varA) 与 \(varB) 是不相等的" ) }
Выход выше выполнение программы:
Hello, Swift! 与 Hello, World! 是不相等的
строки Unicode
Unicode является международным стандартом для кодирования текста, тип Строка Свифта основан на Unicode построен. Можно цикл итерации строку, закодированную в UTF-8 и UTF-16, примеры являются следующие:
import Cocoa var unicodeString = "本教程" print("UTF-8 编码: ") for code in unicodeString.utf8 { print("\(code) ") } print("\n") print("UTF-16 编码: ") for code in unicodeString.utf16 { print("\(code) ") }
Выход выше выполнение программы:
UTF-8 编码: 232 143 156 233 184 159 230 149 153 231 168 139 UTF-16 编码: 33756 40479 25945 31243
Функции обработки строк и операторы
Swift поддерживает следующие строки функции и операторы:
Нет. | Функция / Оператор & Описание |
---|---|
1 | IsEmpty Для того, чтобы определить, является ли строка пустой, она возвращает логическое значение |
2 | hasPrefix (префикс: String) Проверьте, есть ли строка конкретный префикс |
3 | hasSuffix (суффикс: String) Проверьте, есть ли строка конкретный суффикс. |
4 | Int (String) Цифровой преобразует строку в целое число. Пример: let myString: String = "256" let myInt: Int? = Int(myString) |
5 | String.characters.count Вычисление длины строки |
6 | utf8 Вы можете получить доступ к нему, идя кодировку UTF-8 utf8 свойства String |
7 | utf16 Вы можете получить доступ к нему, идя в UTF-16 кодировке utf8 строковое свойство |
8 | unicodeScalars Вы можете получить доступ к нему пешком, закодированные Unicode скалярные unicodeScalars значение атрибута String. |
9 | + Соединить две строки и возвращает новую строку |
10 | + = Обе стороны оператора конкатенации и нового оператора, присвоенного переменной строки слева |
11 | == Определите, являются ли две строки равны |
12 | < Сравните две строки, две строки писем о бок сравнение. |
13 | ! = Сравнивает две строки? Не равны. |