美文网首页
基础语法

基础语法

作者: shenchao123444 | 来源:发表于2017-03-14 21:53 被阅读0次

    1、var用来声明变量,let用来声明常量

    var str:String="Hello World"
    let Contstr = "constr"
    

    2、不能将赋值给变量本身类型之外的值赋值给他

    str = 1024//抛异常 
    

    3、常量和变量不能相互转换
    4、swift将具体某种类型的值成为类型字面量
    5、声明一个变量只需要在变量名之后紧跟类型名,并且用冒号隔开

    var sampleInteger:Int
    var tmpInteger = 12//直接根据字面量来判断类型
    等价于
    var tmpInteger = Int.init(12)//通过类型推断机制识别出字面量所属类型,然后调用对应类型初始化构造器对变量进行初始化
    
    var tmpInteger = Int.init(12.88);//结果为12,显示调用时构造器会做相应判断
    

    6、double和float类型的别名

    typealias Float32 = Float
    typealias Float64 = Double
    

    7、布尔类型
    访问变量的布尔值

    var sampleValue:Bool
    var KeyValue = false
    //通过description访问变量的值
    print(KeyValue.description)
    //判断
    if !KeyValue {}
    //while循环
    var surplusDate = 3;
    while  surplusDate>=0 {}
    

    8、字符串和字符
    string:字符串
    Character:字符

    var sampleString:String
    var note = "world"
    sampleString = "Hello "+note//字符串拼接
    

    打印时可以直接插入,而不用做转换

    var now = 6
    print("你好吗\(now)")
    

    swift语言使用值传递作为默认字符串拷贝方式,无论何时,传递的都将是值得拷贝

    9、计算字符串长度

    let str="@鳗驼螺"
    let len1=count(str) //swift 1.2 //=4 
    let len2=str.characters.count //swift 2.0 //=4 
    let blen=str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding) //=10
    

    10、swift中所有的类型都可以分为“值类型”或者“引用类型”
    11、可选(optional)
    标准声明形式是在程序中使用类名紧跟“?”

    var roundValue:Int?//等同于var roundValue:Optional<Int>(显示调用)
    print("the roundValue is \(roundValue)")
    
    

    用于可选绑定(防止程序抛异常)

    var optionalValue : Optional<Int>
    if var MaxValue = optionalValue{//当Optional不为nil时赋值给MaxValue,并执行if语句,否则不执行
        MaxValue += 1
        print("The convert Value is\(MaxValue)")
    }
    

    在确定肯定有值的情况下,可以选用隐式解析
    主要用在一个变量/常量在定义瞬间完成之后值一定会存在的情况。这主要用在类的初始化过程中。

    var possibleString: String? = "An optional string."
            //possibleString = nil
            println(possibleString) // possibleString 为可选变量,需要使用!来访问的值
    

    运行结果为An optional string.
    再来看一下把println这句改一下改为 (即在可选变量后面加上一个!号。)

    println(possibleString!)//possibleString 为可选变量,需要使用!来访问的值 
    

    还是输出An optional string.

    再次把possibleString = nil放开

    //情况一:不带!号时,输出为nil .
    var possibleString: String? = "An optional string."
            possibleString = nil
            println(possibleString) 
    
    //情况二:这时运行到这句println就会crash了。会报
    fatal error: Can't unwrap Optional.None
    var possibleString: String? = "An optional string."
            possibleString = nil
            println(possibleString) 
    

    总之一个变量或常量有可能是nil,就声明为可选类型比较安全,因为非可选类型不能为nil

    let assumedString: String? = nil //可以被赋值为nil
    let implicitString: String = nil //不可以
    

    相关文章

      网友评论

          本文标题:基础语法

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