Welcom to Swift
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 | 1、第一个程序 import Foundation println(“hello world”) 2、常用数据类型 int /UInt/Double/Float/Bool/String/Array/Dictionary/元组(tuple)/可选类型(Optional) 3、变量常量必须设初始值 变量 var myName = “zhangsan” 常量 let myPhone = “18336070719” 4、整型变现形式 二进制: 前缀为0b 八进制:前缀为0o 十六进制:前缀为0x 5、类型别名 使用typealias定义,类似与 typedef typealias NSInteger = Int var value: NSInteger = 12 6、swift不支持隐式类型转换。需要显示类型转换 String(23):把23转换成字符串 字符格式化\(items) let apples = 3 let applesSummary = “I hava \(apples) apples” 7、数组 let emtptArray Array = [ ] 插入: 往数组里面加元素(末尾) emtptArray.append(“pingguo”); 插入emptpt.insert(“pingguo”,atIndex:3); emtptArrayi +=“pingguo “ emtptArray.capacity //数组的容量2的次方,值大于等于emtptArray.count, 修改: array[1] = “天空” array[4…7] = [“bananas”,”apple”] //把下标为4,5,6,7的元素替换 删除: array.removeLast() //删除最后一个元素 array.removeAtIndex(4) array.removeAll() //删除所有 新建数组 var array = Array(count:3,repeateValue:2.5); 遍历: 1、 for item in array{ println(item) } 2、 for (index,value) in enumerate(array) { println(“Time \(index+1):\(value)") } 8、字典 1、let emptyDic1 = [:] //声明一个空的字典 2、let empty2 = Dictionary<String,Float>() //确定key和value的类型 3、var ariport = [“TYP”:”Tkkyo”,”Dub”:”Bublin"] 删除 airports[“THO”] = nil airports.removeValueForKey[“TYP”] 遍历 for key in airports.keys { //遍历所有的keys } for (key,value) in airport { println( "\(key):\(value)" ) } 9元组 可以将任意数据类型组装成一个元素 元组在作为函数返回值的时候特别适用 let (x,y) = (1,2) let http404Error = (404,”Not Found”) //定义一个由Int 和String做成的元组 let gtt = (status:300,desc:”OK”) 可选类型(Optional) 1、 nil 不能用于非可选类型 2、如果代码中的常量或者变量需要适配值不存在,务必将她声明称可选类型 3、如果定义的可选类型的对象不提供默认值,该对象将自动设置为 nil 这个值要么存在,并且等于x;要么就不存在 let name = "zhanggui" let number = "124" let ss:Int? = name.toInt() println(ss) 10?使用场景 1、声明Optional值变量 2、用在Optional操作中,用来判断是否响应后面的操作 11解包:用!(1、强制对可选量进行解包;2、声明隐式解包可选类型时,用于类中的属性) //解包方法一 var strValue:String? = "This is my Book" println(strValue!) //解包,确定strValue的值一定存在,不需要每次都验证他的值是否存在 let stringValue = strValue!.hashValue //必须解包才能获取可选量的属性或者方法 println(stringValue) //解包方法二 选择绑定 if let sValue = strValue { let stringValue = sValue.hashValue println(stringValue) } //隐式解包可选类型,在定义的时加! let assumedString:String! = "A apple" println(assumedString) println(assumedString.hashValue) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!