import Foundation

println("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位系统,那么就是Int64 let number2: Int8 = 20 //假设我须要一个8位的整形数,那么须要显示的指定位Int8 let number3: Double = 12.0 //在Swift中,浮点型默认是Double let 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 in
println("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 == 12
println("这是一个个位数")
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基础一(代码)的更多相关文章

  1. iOS Swift基础知识代码

    推荐:Swift学习使用知识代码软件 //集合类型 数组 字典 func array1(){ var arr = [","dd"] //简单写法 var arr1 = [ ...

  2. iOS Swift 模块练习/swift基础学习

    SWIFT项目练习     SWIFT项目练习2 iOS Swift基础知识代码 推荐:Swift学习使用知识代码软件 0.swift中的宏定义(使用方法代替宏) 一.视图  +控件 1.UIImag ...

  3. [nRF51822] 12、基础实验代码解析大全 · 实验19 - PWM

    一.PWM概述: PWM(Pulse Width Modulation):脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形. PWM 的几个基本概念: 1) 占空比:占空比是指 ...

  4. [nRF51822] 11、基础实验代码解析大全 · 实验16 - 内部FLASH读写

     一.实验内容: 通过串口发送单个字符到NRF51822,NRF51822 接收到字符后将其写入到FLASH 的最后一页,之后将其读出并通过串口打印出数据. 二.nRF51822芯片内部flash知识 ...

  5. [nRF51822] 10、基础实验代码解析大全 · 实验15 - RTC

    一.实验内容: 配置NRF51822 的RTC0 的TICK 频率为8Hz,COMPARE0 匹配事件触发周期为3 秒,并使能了TICK 和COMPARE0 中断. TICK 中断中驱动指示灯D1 翻 ...

  6. [nRF51822] 9、基础实验代码解析大全 · 实验12 - ADC

    一.本实验ADC 配置 分辨率:10 位. 输入通道:5,即使用输入通道AIN5 检测电位器的电压. ADC 基准电压:1.2V. 二.NRF51822 ADC 管脚分布 NRF51822 的ADC ...

  7. swift基础:第六部分:类与对象

    http://reactnative.cn/docs/0.24/getting-started.html#content(react Native 开发文档) 互联网这个时代,你松懈一天,就会有很多很 ...

  8. swift基础:第二部分:函数和闭包

    今天本来想利用上午的时间本来打算将swift基础部分学习完的,不巧的是,后台来和我讨论用户评价的接口,讨论过后,商讨出一种可行的方案,十几分钟时间过去了,我拿到将接口介入到已经完成的页面中,完美,终于 ...

  9. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

随机推荐

  1. luogu 数列找不同-莫队

    https://www.luogu.org/problemnew/show/P3901 了解过莫队的人应该都清楚,莫队是一个优化的暴力,可以在相对暴力比较优的时间中,求出一段序列内的某些性质(例:数字 ...

  2. 计算机网络之传输层 下(TCP)

    1. TCP的特点 特点:它是一个点到点的通信机制,只能有一个发送方和一个接收方:它提供是一个可靠的,按序的字节流机制:使用流水线机制,通过拥塞控制和流量控制的机制设置窗口尺寸:发送方和接收方都有缓存 ...

  3. 编写一个微信小程序

    1.创建项目 2.创建目录及文件,结构如下:

  4. redhat 7.x 、redhat 6.x查看硬盘UUID方法

    1.查看磁盘分区UUID: [root@rac01 ~]# blkid /dev/sdb1: UUID="6bba92c4-0b25-4cc4-9442-ca87c563720a" ...

  5. php 后端规范

    后端框架地址: git@gitee.com:xielisen/xcore.git 框架使用规范,内部沟通 Controller命名规范 1, 首字母大写,其余小写 2, 对应数据库名称. 不要下划线 ...

  6. Nowcoder 106 C.Professional Manager(统计并查集的个数)

    题意: 给出四种操作: 1. 合并u,v两棵树 2. 从u所在的集合中删除u 3. 询问u所在集合有多少颗树 4. 询问 u,v是否在同一个集合 分析: 对于删除操作, 只要新开一个点代替原来的点即可 ...

  7. 软件测试人员遇到发现的bug不能重现怎么办?

    软件测试人员遇到发现的bug不能重现怎么办?   刚刚进入测试的童鞋们,想必都遇到过提出的bug,开发要求重现之后,但是在系统上已经重现不了的情况吧. 那么碰到这样的情况,不管开发还是测试都很纠结,开 ...

  8. rac的不完全恢复

    模拟rac的不完全恢复,虽然小鱼对常规的完全和不完全恢复已经轻车熟路了,还是记录一个不完全恢复完整过程记录下来. 1 首先小鱼做了一个完全备份. RMAN> backup database in ...

  9. Codeforces917D. Stranger Trees

    $n \leq 100$的完全图,对每个$0 \leq K \leq n-1$问生成树中与给定的一棵树有$K$条公共边的有多少个,答案$mod \ \ 1e9+7$. 对这种“在整体中求具有某些特性的 ...

  10. Flex使用cookie保存登状态

    flex系统要实现普通html系统刷新页面保留登录信息,一个方法是借用js来操作cookie来实现,下边是一个实现的例子: 第一步:在主index.html里边加上两个js方法 //获取cookie内 ...