• swift 2.x学习笔记(二)


    //: Playground - noun: a place where people can play

     

    import UIKit

     

    var str = "Hello, playground"

     

    let individualScores = [75, 43, 103, 87, 12];

    var teamScore = 0;

    for score in individualScores {

    //    if 里的条件判断 不用加()

        if score > 50{

            teamScore += 3;

        } else{

            teamScore += 1;

        }

    }

     

    print(teamScore);

     

    //? 可选值 可为nil

     

    //你可以一起使用 if let 来处理值缺失的情况。这些值可由可选值来代表。一个可选的值是一个具体的值或者 nil 以表示值缺失。在类型后面加一个问号来标记这个变量的值是可选的。

    var optionalString : String? = "Hello";

    print(optionalString == nil)

     

    var optionalName:String? = nil;

    var greeting = "Hello";

    if let name = optionalName {

        greeting = "Hello, (name)";

    } else if(optionalName == nil){

        greeting = "bye"

    }

     

    //?? 默认值

    //如果变量的可选值是 nil ,条件会判断为 false ,大括号中的代码会被跳过。如果不是 nil ,会将值赋给 let 面的常量,这样代码块中就可以使用这个值了。

    //另一种处理可选值的方法是通过使用 ?? 操作符来提供一个默认值。如果可选值缺失的话,可以使用默认值来代 替。

    let nickName : String? = nil;

    let fullName : String = "John Appleseed";

    let informalGreetin = "Hi (nickName ?? fullName)";

     

    //switch 支持任意类型的数据以及各种比较操作——不仅仅是整数以及测试相等。

    let vegetable = "red pepper";

    switch vegetable {

        case "celery":

            print("Add some raisins and make ants on a log.");

        case "cucumber","watercress":

            print("That would make a good tea sandwich.");

        case let x where x.hasSuffix("pepper"):

            print("Is it a spicy (x)");

        default:

            print("Everyting tastes good in soup");

    }

     

    let interestingNumbers = [

        "Prime":[2, 3, 5, 7, 11, 13],

        "Fibonacci":[1, 1, 2, 3, 5, 8],

        "Square":[1, 4, 9, 16, 25],

    ];

    var largest = 0;

    var largestKind : String? = nil;

    //你可以使用 for-in 来遍历字典,需要两个变量来表示每个键值对。字典是一个无序的集合,所以他们的键和值以 任意顺序迭代结束。

    for (kind, numbers) in interestingNumbers {

        for number in numbers{

            if number > largest {

                largest = number;

                largestKind = kind;

            }

        }

    }

     

    var n = 2;

    while n < 100 {

        n = n*2;

    }

    print(n)

    var m = 2;

    repeat{

        m = m*2;

    }while m < 100

    print(m)

     

    var firstForLoop = 0

    //..< 不包含上界 ...包含上界

    //可以在循环中使用 ..< 来表示范围,也可以使用传统的写法,两者是等价的:

    for i in 0...4 {

        firstForLoop += i;

    }

    print(firstForLoop)

     

    var secondForLoop = 0;

    for var i = 0; i < 4; ++i {

        secondForLoop += i;

    }

    print(secondForLoop);

     

     

     

     

  • 相关阅读:
    【SQLServer 】SQLServer Alwayson环境在主库节点移除数据库
    Docker安装PostgreSQL
    基于海康监控的图像识别设计
    光线补偿算法的实现
    基于SURF特征的图像与视频拼接技术的研究和实现(一)
    opencv透视变换
    反人脸识别的思路和实现
    自动对比度的opencv实现
    单向信息传输系统设计实现
    集成利用tesseract.exe进行ocr
  • 原文地址:https://www.cnblogs.com/wjw-blog/p/6067959.html
Copyright © 2020-2023  润新知