Swift 3.0(一)
一:let 和 var
let 声明的是一个常量, var 声明的是一个变量
二:简单数据类型
1.自推出数据类型
let implicitDouble = 70.0 //根据初始化时赋值的数据,推断出implicitDouble数据类型为Double
2.明确指定数据类型
let explicitDouble:Double = 70.0
3.强制数据类型转换, 数据类型转换必须是显式的
let label = "The width is"
let width = 40
let widthLable = label + String(width)
4.字符串里引用变量, \(变量)
let number = 42
let message1 = "I have \(number) dogs!"
let message2 = "I have \(number + 1) dogs!" //引用表达式number + 1
三:数组和字典(array,dictionary)
1.数组 ,形如 var myList = ["book", "pen", "pencil", "schoolbag"]
通过下标访问: print(myList[0]), myList[0] = "books"
添加(append):
var intArray = [1, 3, 5, 7]
intArray.append(9) //[1, 3, 5, 7, 9]
intArray.appendContentsOf([11, 13, 15]) //[1, 3, 5, 7, 9, 11, 13, 15]
同时修改多个元素:
intArray[3...5] = [2, 4] //[1, 3, 5, 2, 4, 13, 15]
2.字典, 形如 var myMap = ["Leon" : 27, "Lily" : 26, "Euler" : 32]
通过key访问, myMap["Leon"] = 28
如果访问的数据不存在则返回nil,let age = myMap["Julie"] //age 值为 nil
添加一个元素和修改一个元素是一样的, myMap["Eminem"] = 37
3.初始化空数据
//数组初始化
var array1 = [] //不指定数据类型
var array2 = [String] () //指定数据类型
//字典初始化
var map1 = [:] //不指定数据类型
var map2 = [String:Int]() //指定数据类型
4.遍历, for element in elements
例如:
4.1
var myArray = [1, 3, 5, 7, 9]
for myInt in myArray{
print(myInt)
}
4.2
var ages = ["Leon" : 27, "Lily" : 26, "Euler" : 32]
for (name, age) inages{
print("\(name) is \(age) years old now!")
}
五:switch
5.1
let age = 10
switch age{
case 1:
//do something
case 5...17:
//do something
case let decade where decade % 10 = 0:
//do something
default:
//do something
}
5.2 同时对两个变量值做判断
let username = "admin"
let passwordIsValid = true
switch (username, passwordIsValid) {
case ("admin", true): //用户名是“admin” 并且密码是有效
//do something
case ("guest", _): //只要用户名是 “admin" 不管密码如何
//do something
case (_, let isValid): //包括了不管用户名是什么但是密码有效或者无效这两种情况
//do something
}
Swift 3.0(一)的更多相关文章
- iOS开发系列--Swift 3.0
概述 从写第一篇Swift文章的时候到现在Swift已经从1.2发展到了今天的3.0,这期间由于Swift目前还在发展阶段并不能向下兼容,因此第一篇文章中的部分代码在当前的Xcode环境中已经无法运行 ...
- Swift 3.0 【Swift 3.0 相较于 Swift 2.2 的变化】
一.编译器和语法变化 函数或方法参数 调用函数或方法时从第一个参数开始就必须指定参数名 在Swift的历史版本中出现过在调用函数时不需要指定任何函数参数(或者从第二个参数开始指定参数名),在调用方法时 ...
- Swift 2.x -> Swift 3.0
Swift 3.0 相对于 2.x 有很大变化.特别是因为命名习惯的改变,导致许多 Api 都发生了变化.总的趋势是让表示更简洁. 对旧的代码升级,大部分可以根据提示来进行更正.但也有的需要手动修改. ...
- Swift 2.0 异常处理
转自:http://www.jianshu.com/p/96a7db3fde00 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主 ...
- fir.im Weekly - Swift 3.0 的迁移适配指南
无论你是移动开发者,还是桌面端开发者,或者正在IoT领域探索的技术人员,那么应该更加关注 iDev 全平台开发者大会,也许是后半年 iOS 开发者最盛大的技术盛宴.既有知名公司带来专业视野,又有从 S ...
- Swift 3.0首个开发者预览版将在5月12日释出
Swift团队在博客中宣布Swift 3.0语言首个开发者预览版将于5月12日释出,正式版将在4-6周之后推出.开发者预览阶段并无确定的更新周期和计划,不过Swift团队称努力将其控 制在4-6周内. ...
- Swift 3.0 令人兴奋,但Objective-C也有小改进--Objective-C的类属性
由于Swift 3.0 出了太多令人兴奋的新特性,人们很容易忽略 Objective-C中的小改动.或许你会觉得苹果提及Objective-C 很可能是为了提高和Swift互操作性(译者注:互操作性主 ...
- Swift 2.0初探
转眼间,Swift已经一岁多了,这门新鲜.语法时尚.类型安全.执行速度更快的语言已经渐渐的深入广大开发者的心. 今年6月,一年一度的WWDC大会如期而至,在大会上Apple发布了Swift 2.0,引 ...
- iOS -Swift 3.0 -String(字符串常规用法)
// // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...
- Swift 2.0 到底「新」在哪?
[编者按]2015年6月,一年一度的苹果 WWDC 大会如期而至,在大会上苹果发布了 Swift 2.0,引入了很多新的特性,以帮助开发者更快.更简单地构建应用.本篇文章作者是 Maxime defa ...
随机推荐
- MVC发送邮件
<> 发送邮件报错说明 发送邮件 假设发送人的邮箱username与邮箱password都没有填写错误:假设报:參数或变量中有语法错误. server响应为:mail from addre ...
- Unity3D脚本编程--基本概念
1. 简单介绍 在Unity3D中,游戏对象(GameObject)的行为是由附加其上的脚本来控制的,游戏开发人员通过编写脚本来控制游戏中的全部对象,如移动Camera等. GameObject能够被 ...
- JAVA实现远程SSH连接linux并运行命令
博客转移到http://blog.codeconch.com
- iOS9中,swift判断相机,相册权限,选取图片为头像
在iOS7以后要打开手机摄像头或者相册的话都需要权限,在iOS9中更是更新了相册相关api的调用 首先新建一个swift工程,在SB中放上一个按钮,并在viewController中拖出点击事件 ok ...
- Swift - 判断是否有某功能访问权限,没有则提示,并自动跳转到设置页
由于 iOS 系统的安全限制,App 如果需要访问设备的通讯录.麦克风. 相册. 相机.地理位置等时,需要请求用户是否允许访问. 有时用户不小心点了“不允许”,后面可能就不知道要去哪里再开启这个权 ...
- dnscat使用——整体感觉这个工具不完善,失败率很高,传文件时候没有完整性校验,我自己测试时通过域名转发失败,可能是其特征过于明显导致
git clone https://github.com/iagox86/nbtool make 然后就可以按照下面的官方说明进行操作了. 我的感受:整体感觉这个工具不完善,失败率很高,传文件时候没有 ...
- nyoj--99--单词拼接(欧垃图判定+输出)
单词拼接 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 给你一些单词,请你判断能否把它们首尾串起来串成一串. 前一个单词的结尾应该与下一个单词的道字母相同. 如 alo ...
- isual Studio 2013编译ImageMagick---转
“该文引用自 CruiseYoung的:Visual Studio 2013编译ImageMagick http://blog.csdn.net/fksec/article/details/36008 ...
- Extjs Grid 各种Demo
grid的一个渲染效果 Ext.define('cfWeb.view.accountSetting.OrgManageView',{ alias : 'widget.orgManageView', e ...
- Spark Streaming概念学习系列之Spark Streaming的竞争对手
不多说,直接上干货! Spark Streaming的竞争对手 Storm 在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology).这个拓扑将会被提交给集群,由集群中的 ...