Swift 基础语法

一段swift的旅程

———-听实习的学长说 已经开始了swift的时代 - - 填坑啊。OC还没玩6 就跳出了swift来交流感情了

先把基础语法看起来吧 - -.

一、定义声明变量

        //var开头 申明一个变量  apple就是变量名 swift中声明变量要赋初始值
        var  apple = 0
        apple = 100;
        println("a的值是\(apple)");

        //String()
        println("my apple is" + String(apple));
        //: 标示类型 Int表示申明类型
        var apple2 : Int = 200;

        //swift 是弱类型
        var apple3 = 300;

        //let表示定义一个不可以改变的变量
        let apple4 = 200;

        //可以用汉子等语言定义变量名字(不过感觉编程一般不会这么干的)
        var 中国 = "56个民族";
        println("中国是\(中国)")

二、循环

        //定义一个分数
        var score = 100;
        //定义一个数组
        var scoreArr = [10,20,30,40,50,60,70,80];
        var minScore = 0;
        var maxScore = 0;
        var sumScore = 0;
        var avgScore = 0.0;
        var count = scoreArr.count;

        //循环数组所有的元素
        for num in scoreArr{
            println("num is \(num)");
            sumScore = sumScore + num;

            //判断大小值
            if (minScore == 0 || minScore > num){
                minScore = num;
            }
        }
        println("sumScore = \(sumScore)");
        avgScore = Double(sumScore) / Double(count);//强转
        println("avgScore is \(avgScore)");
        println("minScore is \(minScore)")

do while

        var index = 0
        do{
            if (index >= count){
                break;    //swift中 break 要加{}
            }
            var num = scoreArr[index]//取得第i个元素
            println("do-while num[\(index)]=\(num)")
        }while(++index < count)

Switch 在switf中不会穿透了

        //switch 之前会穿透
        switch appType{
            case "iOS":
                println("iOS开发");
            fallthrough  //穿透,往下走
            case "Android":
                println("Android开发");
            case "WindowsPhone":
                println("WindowsPhone开发");
        default:
            println("没有适配");
        }

三、函数

  1. 以func开头表示一个函数
  2. :String表示参数类型,
  3. ->String 表示返回值类型
        func testSun(n1:String, n2:String) -> String
        {
            return "\(n1) and \(n2)"
        }

swift把oc中标签拿过来, 一般从第二个参数开始用标签

        //swift把oc中标签拿过来, 一般从第二个参数开始用标签
        func testSun(n1:String, andValue n2:String,andNumber n3:Int) -> String{
            return "\(n1) and \(n2) and \(n3)"
        }

        func testFunction(){

            let show2 = testSun("ll",andValue: "fff",andNumber:100)
            println("fff is \(show2)")
        }

        testFunction()

swift一次可以返回多个参数

        func getNumber() ->(String,String,String){
            return ("Hello","Apple","iOS")
        }

        let (v1,v2,v3) = getNumber()
        println("v1=\(v1) v2=\(v2) v3=\(v3)")

函数内部可以嵌套函数
① 嵌套函数能用外部变量,若内部又给所用变量赋值 就作用域 就近选择最近同名变量
②若函数有返回值,所以指令在return 之前执行才有用

        func testFunctionInFunction() ->Int{
            var y = 6
            func add() ->Int{
               // y = 0   //①
                y += 6
                //println("\(y)")
                return y
            }
            add()
            //println("\(y)") ②
            return y
        }

        let v5 = testFunctionInFunction()
        println("\(v5)")

函数指针
swift中没有明确函数指针

        func getFunction() -> (Int -> Int){
            func addNumber(n1 : Int) -> Int{
                return n1
            }
            //返回一个函数 地址
            return addNumber
        }

        //函数指针
        var functionPointer = getFunction()
        var v1 = functionPointer(1)

        println("v1 is \(v1)")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值