//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground!" // 变量声明规则 // var (let) 变量名 = 值 var str1 = "asd" str1 = "qwe" // str1 = 2 // 类型推断 (根据给出的值对变量进行类型的推断和确定) //*********************************************基本数据类型 var a = 10 var b = 20 // 关于整形的类型推断, 在32位系统的环境下, 自动推断为Int32, 64位环境为Int64 let maxNumber = 57 // let不可变的变量 // maxNumber++ // 指定变量类型 语法:(var 变量:变量类型 = 值) // 如果给定类型, 在使用变量前进行赋值 var currentStudent: Int currentStudent = 50 currentStudent++ // 浮点数自动类型推断为Double (双精度) var score = 90.5 // 需要使用float类型 var score1 : Float = 29.0 // Switf中, 不支持隐式类型转换, 充分体现了Switf的安全性, 消除潜在威胁 //var sumScore = score + score1 // 必须转成同类型才可操作 // 类型转换 语法: 类型 (变量) var sumScore = score + Double(score1) var sumScore1 = Float(score) + score1 //********************************************* 字符串 // 字符串自动推断类型为 String let name = "小雷雷" // 字符型 let char : Character = "a" // "+" 运算符 let loClass = "BJS150727" let teaInfo = loClass + name // "+" 又名重载运算符, 源于C++, 可以直接用于字符串的拼接 // 字符串截取 // 1. // String 类型与NSString 不同 var strTest = "0123456789" // String.Index var index = strTest.startIndex var index_end = strTest.endIndex // 前一个位置 var index_p1 = index_end.predecessor() // 后一个位置 var index_s1 = index.successor() var subString = strTest.substringToIndex(index_s1) // 2. // 将String转成NSString类型 // 使用as关键字指定目标类型 var nsstr1 = (strTest as NSString).substringToIndex(5) var nsstr2 = (strTest as NSString).substringFromIndex(5) // 3. var strTest2 = "01234567" let index_str2 = strTest2.startIndex.advancedBy(3) var subStrTest2 = strTest2.substringToIndex(index_str2) // 在Switf中, 变量几乎支持所有的Unicode编码的字符, 除了数学中的字符, 下划线, 特殊字符 var cat = "❤️" var