美文网首页
swift基本应用

swift基本应用

作者: 光_遥远 | 来源:发表于2016-07-21 20:18 被阅读0次

    //swift后面没有分号。。加分号不会报错。。但是规定不能加分号

    //引入框没有分号  直接写就OK

    //swift不要加@号

    print("娜娜")

    //常量与变量

    //swift常量与变量可以不写类型。系统可以自动判断

    //在加一条语句必须用分号分隔

    var a = 10  ;  a = 20

    //常量

    let b=10  

    var 🏈=20

    b + 🏈

    //当变量有小数点。就会推到Doublevar c=66.6

    //类型   转换   强制转换

    var nana:Int = 100

    var ming:Float = 99.9

    var cuaina:String = "陈娜"

    var xunming:Character = "m"

    //swift中不支持隐式转换

    //oc中强制转换Float  a  

    Float(nana) + ming

    //字符串var xiaona="娜娜"

    //    YES/true  NO/false

    var isTrue:Bool = true;

    isTrue=xiaona.isEmpty

    //字符串长度.字节长度

    //xiaona.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

    xiaona.characters.count

    //空

    var abc = "  "

    var abcd = String()

    //拼接字符串

    var 明 = "明"

    var 娜 = "娜"

    明+"👀"+娜

    //可以把对象或变量直接写在括号print(明)

    //判断字符串是否相等

    明==娜

    var smile:String = "我去"

    var cry:String = "靠"

    //字符串交换

    var e1 = "a"

    var e2 = "b"

    //var e3 = e1

    //    e1 = e2

    //    e2 = e3

    swap(&e1, &e2)

    e1

    e2

    //数组

    var array1:Array=["小明","小娜","小怡"]

    var array2 = ["爱","懓","暧"]

    //声明空数组,都是string类型数组

    var array3 = Array()

    //是string类型数组

    var array4 = [String]()array2[1]="懓"

    //添加元素

    array1 += ["何必","那么","漂亮"]

    array1.append("(⊙v⊙)嗯")

    array1.appendContentsOf(["520" , "250"])

    array1.appendContentsOf(["O(∩_∩)O~" , "250"])

    //添加小标下元素

    array1.insert("如果结婚啦", atIndex: 6)

    array1.insertContentsOf(["呵呵"], at: 0)

    //删除最后元素

    array1.removeLast()

    //删除指定元素

    array1.removeAtIndex(0)

    //所有array1.removeAll()

    //字典

    var dict1:Dictionary=["a":10]var dict2 = ["b":20]

    //空字典

    var dict3:Dictionary= [ : ]var dict4=Dictionary()

    dict3=["b":"c"]

    dict3.removeValueForKey("b")

    //删除所有

    dict3.removeAll()

    //元组.类似c语言结构体。。。可以存放字典  数组 ,而且可以存放一起

    var aaa = ("b",["a":"b"],["a","b","c"],"a")

    aaa.0

    aaa.1

    aaa.2[2]

    aaa.3

    //循环结构

    //for(NSInteger i=1,i<10,i++)

    //{

    //}

    //swfit3.0之前

    for var v = 0 ; v < 2 ; v++

    {

    print(v)

    }

    //【0,10】是零到十包括   0与10

    for f in 0...10

    {

    print(f)

    }

    //【0,10】不包括0 与10

    for f1 in 0..<10

    {

    print(f1)

    }

    var f2=10

    while f2<100

    {

    f2+=1

    print(f2)

    }

    //repeat。。while

    repeat

    {

    f2 += 1

    }

    while f2 < 1000

    //判断

    if a==10 {

    print("在吗")

    }else{

    print("陈娜")

    }

    //var a = 10

    //不写break会执行

    switch(a)

    {

    case 20:

    print("chu")case 10:

    print("chuai")default:

    print("chuaina")

    }

    //枚举中直接取值  只能取到等号左边  rawValue加上去右边值

    enum couples :String

    {

    case xiaoming="陈娜"

    case chenna="浔明"

    case xxx="不看就不看"

    case yyy="呵呵"

    }

    var hehe = couples.xxx.rawValue

    enum hahaha:Int

    {

    case a=1

    case b=2

    case c=3

    case d=4

    }

    //四中类型

    //无参数无返回值

    //-(void)text

    func text()

    {

    print("我去")

    }

    text()

    //无参数有返回值

    //-(int)text1

    func text1()->Int

    {

    return 10

    }

    text1()

    //有参数无返回值

    //第一个参数不显示  要在前面加上num1

    func text2(num1 num1:Int,num2:Int)

    {

    print(num1 + num2)

    }

    text2(num1:10,num2:10)

    //有参数有返回值

    func text3(num1:Int,num2:Int)->Int

    {

    return num1 + num2

    }

    text3(10,num2: 10)

    //元组作为返回值

    func yuanzu(num1:Int,num2:Int)->(Int,Int)

    {

    return(num1+num2,num1*num2)

    }

    yuanzu(10, num2: 10)

    //函数嵌套

    func text4()

    {

    print("1")

    func text5()

    {

    print(2)

    }

    text5()

    }

    /*

    外部参数:外部调用可看到

    内部参数:内部运行需要用到的参数

    func text(外部函数1  内部函数:Int,外部函数2:Int)->返回值

    {

    return 内部函数+外部函数2

    }

    text(外部函数:10  ,  外部函数10)

    */

    //在函数中,所有参数类型都是let修饰的。。所以要改变的话,就必须外部声明Var

    func text7(inout num1:Int,num2:Int)

    {

    num1=100

    print(num1+num2)

    //    return num1+num2

    }

    var number1 = 10

    var number2 = 10

    text7(&number1, num2: number2)

    print(number1)

    //简单计算器

    //要求外界转入2个数一个符号

    func jisuanqu(num1:Float,Fuhao:Character,num2:Float)->Float

    {

    switch(Fuhao)

    {

    case "+":

    func jia(a:Float,b:Float)->Float

    {

    return a+b

    }

    return jia(num1, b: num2)

    case "-":

    func jian(a:Float,b:Float)->Float

    {

    return a+b

    }

    return jian(num1, b: num2)

    case "*":

    func cheng(a:Float,b:Float)->Float

    {

    return a+b

    }

    return cheng(num1, b: num2)

    case "/":

    func chu(a:Float,b:Float)->Float

    {

    return a+b

    }

    return chu(num1, b: num2)

    default:

    return 0

    }        }

    相关文章

      网友评论

          本文标题:swift基本应用

          本文链接:https://www.haomeiwen.com/subject/rtgbjttx.html