携手创造,一起生长!这是我参加「日新方案 8 月更文应战」的第15天,点击检查活动概况
Swift4 初步知道
基于版本号:4.1.2
-
基本数据类型
-
常量 let ,变量 var
在一行中声明多个常量或变量,用逗号离隔
var a =3,b=4,c=5;
类型标示:如果声明的同时赋予初始值,则不需求类型标示
var Who:String //声明一个String的变量Who
Who = "imaginecode"
println(Who)
变量与常量的命名
可以运用汉字、表情命名等恣意字符。但不能包含数学符号、箭头、连线与制表符,不能以数字最初
字符串插值
var apples = 10
var oranges = 4
println("I have \(apples + oranges) fruits") //占位符表明方法
注释
- 双斜杠
- 嵌套多行注释
类型转换
let a: UInt8 =10
let b: Uint6 = 100
print("\(UInt16(a)+b)")
类型别名 – typealias
typealias AudioSample = UInt16
var maxValue = AudioSample.min
元组
- 将多个不同的值集合成一个数据
(true,"imagine","男")
(404,"Not Found")
特色:
-
可以有恣意多个值
-
不同的值可所以不同类型
-
取元组数据
let registInfo = (isTrue:true,nickname:"imagine",gender:"男")
let (isTrue,nickname,gender) = registInfo
registInfo.isTrue // true
- 运用下划线(_)疏忽部分 数值
let loginResult = (true,"imagine")
let (isLogin,_) = loginResult
if isLogin {
print("success")
}
Optionals 可选值
- 或者是一个值,或者是没有值
- 没有值时为nil
var imOptionalVariable:Int? //nil
imOptionalVariable = 12 //12
运算符
- 赋值
let a = 2
- 操作符
a + b
a += a //swift4 抛弃++
a +=2
a * b
a / b //b不能为0
a % b // b 不能为0
let d = 5.2,e = 1.7
d / e
d % e //也能运用浮点型进行求余
Int.max //检查Int类型支撑的最大值
Int.min //检查Int类型支撑的最小值
var c = 2
c+=1
//条件运算符
var score = 62
var rate = score > 60 ? "合格":"不合格"
- nil聚合运算符
var userNickName :String?
userNickName = "imagine"
let outputName:String = userNickName != nil ? userNickName! : "Guest"
print("hello,"+outputName)
//改善
let outputName:String = userNickName ?? "Guest"
- 区间运算符
//闭区间 [a,b] 表明:a...b
//前闭后开区间 [a,b) 表明:a..<b
- for-in
for index in 1..<10
{
index
//index = 3 //error
}
//arr.count数组长度
let names = ["aaa","bbb","ccc"];
for i in 0..<names.count
{
names[i]
}
- 逻辑运算符
!a //非
a && b //与
a || b //或
区别“位运算符”
a & b //按位与
a | b //按位或
字符串
- String和Character
//变量与常量字符串
var str1 = "aaa"
let str2 = "bbb"
//创建空字符串
var emptyString = ""
var str2 = String()
//字符串遍历
var str = "hello"
for c in str
{
print(c)
}
//定义一个字符
var ch:Character = "!"
str.append(ch) //在字符串后边拼接一个字符
//字符串之间拼接
var str2 = "!!!"
str += str2 //hello!!!!
- String操作
var str = "Hello"
//拼接
str + "imagine"
str
str += "imagine"
str
//字符串插值
print("123 \(str)")
//字符串比较
//按字典次序比较,不考虑长度
let str_a = "abc"
let str_b = "abc"
str_a == str_b
let str_c = "abd"
str_a < str_c
//前缀 Prefix 与 后缀 Suffix
//.hasPrefix and .hasSuffix
//计算前缀有 b 的个数
let names = [
"a 1.aaa",
"b 1.bbb",
"b 2.bbb",
"b 3.ccc"
]
var count = 0
for name in names {
if name.hasPrefix("b"){
count += count //3 times
}
}
- 导入Foundation 运用字符串的更多功能
import Foundation
var str = "hello"
str.capitalized //Hello 首字母大写
str.uppercased() //字母大写
str.lowercased() //字母小写
//split
var str2 = "hello hhh"
str2.components(separatedBy: " ")