一、swift 的打印輸出
a、打印字符串
print("我要打印輸出")
b、字符串拼接
let data = "我是打印的數據"
print("hello -- \(data)")
結果:a、我要打印輸出
b、hello -- 我是打印的數據
二、 MARK: - if let /var 連用語法
不是單純的if 語句
//if let 連用,判斷對象的值是否為nil,{}內一定有值,可以直接使用,不需要解包
// if var 連用,{} 可以對值進行修改
fun demo1(){
let oName:String? = "老王"
let oAge:Int? = 10
if var name = oName
let age = oAge{
name = "老李"
// 進入分支之后,name 和 age 一定有值,不需要解包
// name 和 age 的作用域僅在{}中
print(name +String(age) )
} else{
print("name 或 age 為nil" )
}
}
屏幕快照 2017-06-13 12.56.33.png
// guard 守衛/守護
fun demo2(){
let oName:String? = "老王"
let oAge:Int? = 10
// guard let 守護一定有值,如果沒有直接返回
guard let name = oName,
age = oAge else {
print("姓名或者年齡為nil")
return
}
// 代碼執行至此,name 和 age 一定有值
// 通常判斷是否有值之后,會做具體的邏輯實現
// guard 的語法 是Swift 2.0 推出的
print(name +String(age))
}
// guard let & if let 的技巧
fun demo2(name:String?,age:Int?){
if let name = name,age = age {
print(name + String(age))
print (“----------------”)
}
// 使用同名的變量接收值,在后續使用的都是非控制,不需要解包
// 好處,可以避免起名字的煩惱
guard let name = name, age = age else {
print("姓名或者年齡為nil")
return
}
print(name +String(age))
}
Swift 有三種訪問修飾符:
public internal internal(英文直譯:里面的,adj),默認的是 internal。public:可以訪問自己模塊中任何 public,被 import 到其他模塊,也可以被訪問internal:只能訪問自己模塊中任何 internal 實體,不能訪問其他模塊中的 internal 實體private:顧名思義,就是私有,只能在當前源文件中使用。根據特點決定,如果編寫 App 的話,直接用默認的就好了,就是啥也不用敲如果編寫 Framework,請認真思考流程,認真設計,外部接口要設置 public,而一些不想讓別人看見的就可以用 private 或者 internal 修飾