swift4 学习笔记(一)
变量与常量
在swift中用let来表示常量,用var来便是变量
//定义变量
var myVariable = "hello"
//变量的值可以改变
myVariable = "hi"
//定义常量
let myConstantVariable = 123
// 隐式指定整数类型
var anInteger = 2
// 明确指定整数类型
let anExplicitInteger :Int = 2
//定义一个数组
let array = [Any]()
//定义一个字典
let dictionary = [String:Any]()
控制流
for循环
let scoreArray = [10,9,9,2,1,5,6,7]
var totalScore = 0
for i in 0..<scoreArray.count {
totalScore =+ scoreArray[i]
}
print(totalScore)
if判断语句
if totalScore>50 {
print("ok")
}else{
print("not ok")
}
使用if let来处理可能为nil 的赋值,如果下面代码中的optionalName为nil则if判断为否
let optionalName : String? = "jack"
var greeting = "Hello!"
if let name = optionalName {
greeting = "Hello! \(name)"
}
print(greeting)
??
也可以提供一个默认值来处理optional值为nil的情况
如果下面代码中的nickName为nil时,将会用默认值fullName替代
let nickName:String? = nil
let fullName:String = "John Snow"
let informalGreeting = "Hi,\(nickName ?? fullName)"
print(informalGreeting)
switch
switch支持多重数据格式,不局限于整数
let color = "red"
switch color {
case "blue":
print("the sky is blue")
case "black","white":
print("black and white")
case let x where x.hasSuffix("red"):
print(x)
default:
print("every color is good")
}
for in
可以用for in 来遍历字典中的item
let numberDictionary = [
"first":[1,4,5,6,7,2,9,11],
"second":[11,23,32,12,1,3,5],
"third":[66,2,5,7,17,3]
]
var largetNumber = 0
for (_,numbers) in numberDictionary {
for number in numbers {
if largetNumber < number {
largetNumber = number
}
}
}
print(largetNumber)
while
使用while来重复执行代码块,直到到达条件
var n = 2
while n<100 {
n *= 2
}
print(n)
var m = 2
repeat {
m *= 2
} while m<100
print(m)