Swift基础一(代码)
import Foundationprintln("Hello, World!")var string1 = "Hello BeiJing" //定义一个变量(字符串)
//var string1: String = "Hello, BeiJing" //系统会自己主动进行类型判断为此表达式
println("string1 = \(string1)")let string2 = "Hello, Everybody" //let定义一个常量println("string2 = \(string2)")string1 = "Hello"let number1 = 20
//let number1: Int = 20 //在Swift中整形自己主动判断为Int, 假设系统是32位系统,那么这个整形就是Int32,假设是64位系统,那么就是Int64let number2: Int8 = 20 //假设我须要一个8位的整形数,那么须要显示的指定位Int8let number3: Double = 12.0 //在Swift中,浮点型默认是Doublelet number4: Float = 28.0 //假设须要Float类型,那么须要显示指定var number = Double(number2) + number3 //Swift中,不支持隐式转换,假设想让两个不同类型的数据进行运算,那么须要显示的转换其类型: 类型名(常量/变量名)let 你好 = "你好"
println("你好 = \(你好)")//元组, 从关系型数据库里引出的概念, 关系型数据库里面的每一条记录都相当于一个元组,元组里面的数据能够是不同类型.<pre name="code" class="objc">var request404Error:(Int, String) = (404, "Request Error Message") //定义一个元组, 相当于(Int, String)类型的元组println("requestCode = \(request404Error.0),requestErrorMessage = \(request404Error.1)") //能够通过下标来取出元组里面的元素,元组的分解var request404ErrorA = (errorCode: 404, errorMessage: "Request Error Message") //在创建元组的时候, 能够给元祖里面的元素类型名println("errorCode = \(request404ErrorA.errorCode), errorMessage = \(request404ErrorA.errorMessage)")//数组(Swift中数组元素是同一类型才干够从数组中读取,也就是仅仅能存放同一类型的元素)
var names: String[] = ["太一", "嘉儿", "阿和", "阿武"]
var name1 = ["美美", "光子郎"]
println("names = \(names)")names.append("素娜") //往数组里面加入元素,能够使用append
var name = name1 + names //往数组里面加入一个数组, 能够使用"+"
println("name = \(name)")
println("names = \(names)")names[0] = "亚古兽" //通过下标改动数组里的元素
println("names = \(names)")names.removeAtIndex(0) //删除元素
println("names = \(names)")
names.removeLast()
println("names = \(names)")//let声明的数组为不可变数组, 不能加入和删除元素 但能够替换
let namesA = ["大辅", "一乘寺贤"]
//namesA.removeAtIndex(0)
namesA[0] = "阿助"
println("namesA = \(namesA)")//var namesB = ["路飞", "索隆", "娜美", 32]
//namesB.append("香吉士"))
字典
//字典 在Swift中 要求全部的key是同一类型 全部的value是同一类型
var person: Dictionary<String, String> = ["name":"路飞", "sex":"男"]
println("person = \(person)")person["habit"] = "足球"
println("person = \(person)")//person["key"] = newValue,假设key已经存在,那么进行的是替换操作 假设key不存在,那么加入了一组键值
person["name"] = "索隆"
println("person = \(person)")person.updateValue("娜美", forKey:"name") //println("person = \(person)")let oldValue = person.updateValue("乔巴", forKey:"name") //使用updateValue(value, forKey:key) 进行字典里面元素更新的时候,会返回被替换掉的旧值println("person = \(person)\n oldValue = \(oldValue)")let personA = ["name":"罗宾", "sex":"女"]
//personA["name"] = "luobin"//数组和字典的可变和不可变通过var和let来进行判定,不同的地方是假设数组声明为let, 那么不能够加入和删除元素,可是能够更改.通过let声明的字典,既不能够加入删除,也不能够更改for name in names{//数组的遍历, for inprintln("name = \(name)")
}//数组的遍历,而且得到对应元素的下标
for (index, name) in enumerate(names){println("index = \(index), name = \(name)")
}//字典的遍历,得到key和value (字典里打印的东西是无序的)
for (key, value) in person {println("key = \(key), value = \(value)")
}
//控制语句var isNumber:Bool = true
var aNumber = 3 ; var bNumber = 5 // 假设想在一行有多个语句,那么须要用";" 进行切割//在Swift中, if语句的推断条件仅仅能是Bool类型
if isNumber {println("aNumber = \(aNumber)")
}for var i = 0; i < 10; i++ {println("i = \(i)")
}for j in 0..9 { // ".."表示的是一个区间,包含左边的值,可是不包含右边的值println("j = \(j)")
}for k in 0..9 { //".."既包含左边的值, 又包含右边的值println("k = \(k)")
}
//switch
var a = 11
switch a {
case 1:println("a = 1")
case 11:println("a = 11")fallthrough // 强制运行下个case语句
default:println("a = other number")
}//case语句能够是个范围, 而且这个范围是能够交叉的, 可是仅仅运行第一个满足case条件的语句
switch a {
case 1..20 where a == 12: //能够进行双重判定, 使用 where a == 12println("这是一个个位数")
case 11..100:println("这是一个十位数")
default:println("其它数字")
}var point = (4, 0)switch point {
case(0, 0):println("原点")
case(let x, 0): //使用(let x, 0) 能够取出元组里面相应位置的元素println("X轴, x = \(x)")
case(0, _): // "_"表示忽略元组里面相应位置的元素println("Y轴")
default:println("象限内")
}
Swift基础一(代码)相关推荐
- Swift基础 - - 高德地图实践
高德地图开发需要自己到官网http://lbs.amap.com/console/ 注册一个ak,新建一个swift工程,然后在Info.plist中添加一个NSLocationAlwaysUsage ...
- Swift基础--方法
Swift基础--方法 swift中方法分为实例方法和静态方法,方法时于默写特定类型相关联的函数.类,结构体,枚举都可以定义实例方法,也可以定义静态方法. 一,实例方法 实例方法: 给特定类型实例封装 ...
- 2个字符串相等 swift_Swift快速入门(一)之 Swift基础语法
Swift快速入门(一)之 Swift基础语法 近期重新学习了一遍Swift语言,主要以<Swift编程权威指南(第2版)>为教程,学习过程中结合比对Java语言特性将学习心得作为三篇笔记 ...
- Swift基础——数组Array
Swift基础--数组Array 数组:使用有序列表存储同一类型的多个值,相同值可出现在一个数组的不同位置. 数组简介 首先,和String一样我们也来看看他的一些Api方法 常规操作方法 rever ...
- Swift基础语法学习笔记(1)
Swift基础语法的学习 1.HashMap 2.for-in循环控制 3.??聚合运算 4.SwiftUI的一些小技巧 5.init初始化器 6.@propertyWrapper属性包装器 音乐评分 ...
- 从零开始的iOS开发:00 | Swift基础语法(上)
目录 一.开发环境 二.关于Swift (一)Swift简介 (二)Swift特性 (三)结语 三.Swift基础语法 (一)编程准备 (二)Hello,world! (三)简单值 1.变量与常量 2 ...
- Swift基础——字符串简介
Swift基础--字符串简介 String简介 但凡接触过其他语言,我们不难发现,或者说我们应该都知道字符串(一系列字符集合) 那么下面我们正式开始: count :获取当前字符串的字符数量 \(参数 ...
- Swift基础知识概述
第二章: Swift基础知识概述 1. 三件事 学习Swift语言 学习Xcode 理解ios开发组件,API.SwiftUI.SDK等 从以上三个方面自己修练.不用担心. 2. 开始学习 首先看一段 ...
- 显示在一行_使用基于Swift的一行代码自动显示Log,Network,CPU,RAM,FPS等
GodEye 使用基于Swift的一行代码自动显示Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder等.就像上帝睁开眼睛 功能 监控日志并区分日 ...
最新文章
- 打开一个解决方案时弹出“项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序”问题的解决方案
- boost::interprocess::windows_shared_memory用法的测试程序
- idea开发搭建scala项目流程(二)
- linux alias别名管理
- 重庆理工大学图像处理实验二:图像增强
- 视频分割修整功哪一款视频剪辑软件更好用?
- 2021-08-21 mvc架构
- Wonderware-InTouch 服务器Windows Server 2012 R2系统安装intouch2017
- python中浮点型占几个字节_python的浮点数占多少个字节
- 雅虎14条性能优化(经典)
- 使用工具Android Studio实现一个简单的Android版的新闻APP之美
- windbg 常用命令
- 敏捷开发中团队如何面对失败的Sprint
- 网站友情链接交换的方法
- 高次同余式的解数和解法
- 浅谈String的堆内存和栈内存
- 我看考研(一)——为什么考研之考研的理由的重要性
- Windows环境下安装RabbitMQ(官方文档中文版)
- 一个屌丝程序员的青春(三四四)
- 搜索引擎蜘蛛算法与蜘蛛程序构架