Swift 随笔

Swift随便写写

常量:let声明常量 例子:let string:String = "helloWorld"

变量:var声明变量 例子:var string:String = "helloWorld"

声明常量或者变量的时候可以加上类型标注;但是swift可以根据声明时的初始值推断出这个常量或者变量的类型,所以一般可以不写类型标注。

可选类型:如果一个值可能有值也有可能为nil,那么这个变量就是一个可选类型,可选类型用?标识;

注:可选类型不能直接参与运算,参与运算之前必须强制解包,强制解包用!标识;解包后若为nil参与运算可能会导致程序崩溃,需要对解包的变量进行判断。

一、Simple Values

  1. 字符串的创建: let string = "helloWorld"

  2. 数组的创建: let array:[String] = ["123", "234"] 或者 let array = String

  3. 字典的创建: let dic:[String:AnyObject] = ["key1":"value1", "key2":"value2"] 或者 let dic = String:AnyObject

二、Control Flow

  1. if判断:
let score = 80
if score > 60 {
    print ("及格,分数为\(score)")
} else {
    print ("不及格,分数为\(score)")
}
  1. if let 判断(用于可选变量?的判读)
var a:Int? = 10
if let b = a {
    print("b = \(b)")
}

先判断可选类型是否为空,不为空的话创建一个局部常量或者变量接收可选类型的值,在执行代码块,否则不执行代码块。(可以写else)

var a:Int? = 10
if let c = a where c > 5 {
    print("a > 5")
}

where可以增加判断需求

  1. guard 判断
var a:Int? = 10
guard let d = a else {
        print("a = nil")
        return
    }
    print("d = \(d)")

同样是判断可选类型是否为空,若为空则执行代码块后跳出函数,否则可以继续向下执行。

  1. switch 函数
let a = 10
switch a {
case 2:
    print("a = 2")
case 3:
    print("a = 3")
case 10:
    print("a = 10")
default: break
}

switch中case的break可以不写,默认的default在没有完全判定变量的所有情况时必须添加;另外,case后面的执行语句{}省略不写。

  1. for 循环
for var i = 0; i < 10; i++ {
    print(i)
}
  1. for-in 循环
for i in 0...10 {  //[0,10]
    print(i)
}
for i in 0..<10 {  //[0,10)
    print(i)
}
  1. while 循环
var i = 10
while i > 1 {
    print(i)
    i--
}
  1. repeat-while 循环
var i = 10
repeat {
    print(i)
    i--
} while i > 5

三、Functions And Closures
若函数想要成为类函数只需在func前面加上class,若想要函数为本类的私有函数则在func前面加上private,若继承于父类的函数则在func前面加上override

  1. 函数:无参无返
func demo()
       print("无参无返回值")
}
  1. 函数:有参无返
func lengthOfString(str1:String, str2:String) {
        print("\(str1.characters.count) 和 \(str2.characters.count)")
    }
  1. 函数:无参有返
func demo04() -> String {
        return "helloWorld"
    }
  1. 函数:有参有返
func demo(str1:String, str2:String) -> String {
        var str3 = str1
        str3 += str2
        return str3
    }
  1. 闭包:无参无返
let closure = {
        ()->()
        in
        print("这是一个无参无返的闭包")
    }
  1. 闭包:无参有返
let closure2 = {
        () -> Int in
        let str = "helloWorld
        return str.characters.count
    }
  1. 闭包:有参无返
let closure1 = {
        (str:String) -> () in
        print("这是一个有参无返的闭包\(str)")
    }
  1. 闭包:有参有返
let closure3 = {
        (str:String) -> String in
        return str
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容