zoukankan      html  css  js  c++  java
  • Swift基础一(代码)

    
    import Foundation
    
    println("Hello, World!")
    
    var string1 = "Hello BeiJing" //定义一个变量(字符串)
    //var string1: String = "Hello, BeiJing" //系统会自己主动进行类型判断为此表达式
    println("string1 = (string1)")
    
    let string2 = "Hello, Everybody" //let定义一个常量
    
    println("string2 = (string2)")
    
    string1 = "Hello"
    
    let number1 = 20
    //let number1: Int = 20 //在Swift中整形自己主动判断为Int, 假设系统是32位系统,那么这个整形就是Int32,假设是64位系统,那么就是Int64
    
    let number2: Int8 = 20 //假设我须要一个8位的整形数,那么须要显示的指定位Int8
    
    let number3: Double = 12.0 //在Swift中,浮点型默认是Double
    
    let number4: Float = 28.0 //假设须要Float类型,那么须要显示指定
    
    var number = Double(number2) + number3 //Swift中,不支持隐式转换,假设想让两个不同类型的数据进行运算,那么须要显示的转换其类型: 类型名(常量/变量名)
    
    let 你好 = "你好"
    println("你好 = (你好)")
    
    
    //元组, 从关系型数据库里引出的概念, 关系型数据库里面的每一条记录都相当于一个元组,元组里面的数据能够是不同类型.<pre name="code" class="objc">var request404Error:(Int, String) = (404, "Request Error Message") //定义一个元组, 相当于(Int, String)类型的元组
    
    println("requestCode = (request404Error.0),requestErrorMessage = (request404Error.1)") //能够通过下标来取出元组里面的元素,元组的分解
    
    var request404ErrorA = (errorCode: 404, errorMessage: "Request Error Message") //在创建元组的时候, 能够给元祖里面的元素类型名
    
    println("errorCode = (request404ErrorA.errorCode), errorMessage = (request404ErrorA.errorMessage)")
    
    //数组(Swift中数组元素是同一类型才干够从数组中读取,也就是仅仅能存放同一类型的元素)
    var names: String[] = ["太一", "嘉儿", "阿和", "阿武"]
    var name1 = ["美美", "光子郎"]
    println("names = (names)")
    
    names.append("素娜") //往数组里面加入元素,能够使用append
    var name = name1 + names //往数组里面加入一个数组, 能够使用"+"
    println("name = (name)")
    println("names = (names)")
    
    names[0] = "亚古兽" //通过下标改动数组里的元素
    println("names = (names)")
    
    names.removeAtIndex(0) //删除元素
    println("names = (names)")
    names.removeLast()
    println("names = (names)")
    
    //let声明的数组为不可变数组, 不能加入和删除元素 但能够替换
    let namesA = ["大辅", "一乘寺贤"]
    //namesA.removeAtIndex(0)
    namesA[0] = "阿助"
    println("namesA = (namesA)")
    
    //var namesB = ["路飞", "索隆", "娜美", 32]
    //namesB.append("香吉士"))
    

    字典
    //字典 在Swift中 要求全部的key是同一类型 全部的value是同一类型
    var person: Dictionary<String, String> = ["name":"路飞", "sex":"男"]
    println("person = (person)")
    
    person["habit"] = "足球"
    println("person = (person)")
    
    //person["key"] = newValue,假设key已经存在,那么进行的是替换操作 假设key不存在,那么加入了一组键值
    person["name"] = "索隆"
    println("person = (person)")
    
    person.updateValue("娜美", forKey:"name") //
    
    println("person = (person)")
    
    let oldValue = person.updateValue("乔巴", forKey:"name") //使用updateValue(value, forKey:key) 进行字典里面元素更新的时候,会返回被替换掉的旧值
    
    println("person = (person)
     oldValue = (oldValue)")
    
    let personA = ["name":"罗宾", "sex":"女"]
    //personA["name"] = "luobin"
    
    //数组和字典的可变和不可变通过var和let来进行判定,不同的地方是假设数组声明为let, 那么不能够加入和删除元素,可是能够更改.通过let声明的字典,既不能够加入删除,也不能够更改
    
    for name in names{//数组的遍历, for in
        println("name = (name)")
    }
    
    //数组的遍历,而且得到对应元素的下标
    for (index, name) in enumerate(names){
        println("index = (index), name = (name)")
    }
    
    //字典的遍历,得到key和value (字典里打印的东西是无序的)
    for (key, value) in person {
        println("key = (key), value = (value)")
    }
    

    //控制语句
    
    var isNumber:Bool = true
    var aNumber = 3 ; var bNumber = 5 // 假设想在一行有多个语句,那么须要用";" 进行切割
    
    //在Swift中, if语句的推断条件仅仅能是Bool类型
    if isNumber {
        println("aNumber = (aNumber)")
    }
    
    for var i = 0; i < 10; i++ {
        println("i = (i)")
    }
    
    for j in 0..9 { // ".."表示的是一个区间,包含左边的值,可是不包含右边的值
        println("j = (j)")
    }
    
    for k in 0..9 { //".."既包含左边的值, 又包含右边的值
        println("k = (k)")
    }
    
    
    //switch
    var a = 11
    switch a {
    case 1:
        println("a = 1")
    case 11:
        println("a = 11")
        fallthrough // 强制运行下个case语句
    default:
        println("a = other number")
    }
    
    //case语句能够是个范围, 而且这个范围是能够交叉的, 可是仅仅运行第一个满足case条件的语句
    switch a {
    case 1..20 where a == 12: //能够进行双重判定, 使用 where a == 12
        println("这是一个个位数")
    case 11..100:
        println("这是一个十位数")
    default:
        println("其它数字")
    }
    
    
    var point = (4, 0)
    
    switch point {
    case(0, 0):
        println("原点")
    case(let x, 0): //使用(let x, 0) 能够取出元组里面相应位置的元素
        println("X轴, x = (x)")
    case(0, _): // "_"表示忽略元组里面相应位置的元素
        println("Y轴")
    default:
        println("象限内")
    }
    
    



    
       
    
  • 相关阅读:
    分布式超级账本Hyperledger为什么选择使用kafka引擎实现共识方案
    银行卡所属公司判断 参考自https://blog.csdn.net/well2049/article/details/79429130
    golang GBK与UTF-8互转的例子
    Welcome to Swift (苹果官方Swift文档初译与注解五)---29~34页
    Welcome to Swift (苹果官方Swift文档初译与注解四)---19~28页
    Welcome to Swift (苹果官方Swift文档初译与注解三)---11~18页
    Welcome to Swift (苹果官方Swift文档初译与注解二)---6~10页
    Welcome to Swift (苹果官方Swift文档初译与注解)
    UIButton部分功能设置(一):
    Mac下配置WebDav
  • 原文地址:https://www.cnblogs.com/llguanli/p/6894412.html
Copyright © 2011-2022 走看看