Swift 基本数据类型
Swift
1,Swift支持所有C和Objective-C的基本类型,支持面向过程和面向对象的编程机制。
2,Swift提供了两种功能强劲的集合类型:数组和字典。
3,元组。
4,可选类型。
5,Swift是一种类型安全的语言。
6,Swift是编程语言,Xcode提供了swiftc编译器来编译Swift程序.
playgound
1,playgound提供了及时查看功能。
2,不支持人机交互。
3,暂时不支持管理多个Swift源程序。
4,playgound不是模拟器,因此不能执行APP。
playgound只是方便开发者快速体验Swift语法和测试API功能。
数据类型
基本数据类型:Int,Double,Float,Bool,String,array 数组,Dictionary 字典
1,变量与常量。
变量用var声明, 常量用let声明。常量和变量的命名支持中文和表情字符
什么变量的方式:
类型标注 var Who:String 将变量Who定义为String类型
var age:Int //声明时指定其类型,但没有赋值。
var name:String ="Swift" //声明并指定类型同时赋值
var a=20,b:String,c="Swift"
println("her name is \(name)"); // "\(name)" 这种形式作为占位符
var str:String() //初始化字符串实例
字符串链接:
var str="hello"
str="\(str)adfadf\(100)"
2,整形与浮点型。
Int:
用Int即可。
整形之间必须是显式转换,类型转换 swift中只支持显示转换
Float,Double:
0.0可以作为除数,结果有正无限大和负无限大。
类型别名:
typealias Age=UInt16
let myAge:Age=10
3,元组类型。
1,var score=(140,140,"优秀")
2,var health:(Int,Int,String)
health=(182,78,"良好")
println("health 元组的值为:\(health)")
println("health 元组中第二个值为:\(health.1)") //根据下标来输出元素的值
3,var test:(Int,(Int,String)) //元组中可以声明元组
test=(10,(100,"Swift"))
println("test 元组中第二个元素的第一个元素为:\(test.1.0)")
4,var score:(math:140,English:140,Assessment:"A")
或者
var score:(math:Int,English:Int,Assessment:String)
score=(math:140,English:140,Assessment:"A")
println("score 中math为\(score.math)")
元组分解:
let people=(19,"xiaoming")
let (age,name)=people
//分解的时候要忽略的部分用_表示
let (age,_)=people
4,可选类型。
可选类型如果没有值的话,将自动至为为nil
//任何已知类型后面紧着"?"即可代表 可选类型 如 Int? 主要用来表示值缺失的情况
var Str="hello word"
var num:Int?=str.toInt() //可将String转换为Int 但num的值为nil即值缺失
强制解析:在变量或者常量后面添加"!"
注意:必须可选类型的变量或者常量确实有值的时候才能解析成功
var num1:Int?=10
var num2:Int?=20
if num1!=nil && num2!=nil{
let sum=num1!+num2!
}
可选绑定:可以用在IF或者WHILE语句中来对可选类型的值进行判断并把值付给一个常量或者变量
var str:String!="Swift"
if var tmp=str{
println()
}else{
println("str 的值为nil 不能解析")
}
//隐式解析可选类型:在已有类型后面添加! 如Int!适用于被赋值之后不会重新变为nil的变量
var possobleStr:String!="score"
5,数组:
food.append("v":"a") //z 使用append方法添加新的数据项
food[0...2]=["ss","nn"] //根据下标替换
food.insert("m",atIndex:0) //根据下标插入
使用removeAtIndex方法来移除数组中的某一项
把数组中的最后一项移除,可以使用removeLast方法
使用构造语法来穿件一个由特定数据类型构成的数组
var someIn=[Int]()
可以创建特定大小并且所有数据都被默认的构造方法 浮点型,3个
var b=[Double](count:3,repeatedValue:0.0)
字典:
字典元素是无序的,通过常量或者变量来决定字典(数组)是否可变。
Swift的字典使用时需要具体规定可以存储键和值类型,必须提前定义清楚,方法是通过显性类型标注或者类型推断。
声明字典:
var dic=Dictionary<Int,String>()
dic[16]="年龄" //根据键值对赋值
dic=[:] //声明一个空字典
var person=["age":18,
"name":"Jack"
];
updateValue(forkey:)方法在这个键不存在对应值的时候设置值或者在存在值是更新已存在的值,和下标方法不一样,这个方法返回更新值之前的原值,这样方便检查是否更新。
if let oldName=person.updateValue("Tom",forkey:"name"){
print("原来的值\(oldName)");
}
removeValueForKey方法可以用来在字典中移除键值对
每一个字典中的数据项都由(Key,Value)元组形式返回,并且我们可以使用临时常量或者变量来分解这些元组
for(key,value) in person{
print("\(key):\(value)")
}
囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧
Swift 基本数据类型的更多相关文章
- swift基本数据类型的使用
// // ViewController.swift // 基本数据类型 // // Created by 叶炯 on 16/9/8. // Copyright © 2016年 叶炯. All rig ...
- swift基本数据类型使用
swift基本数据类型的使用之一: 字符串的使用 swift String的使用 1.字符串的定义 1> 不可变字符串的定义 2> 可变字符串的定义 2.获取字符串的长度 3.字符串的拼接 ...
- swift 中数据类型那个的转换
在swift中关于数据类型的转换,如果参数是可选类型? 那么打印或者转换的结果 会带有Optional 字样,,
- iOS开发零基础--Swift篇:Swift中数据类型
Swift类型的介绍 Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等 先了解整型和浮点型 整型 有符号 Int8 : 有符号8位整型 Int16 : 有符号16位整型 Int32 ...
- Swift - 基本数据类型,及常/变量声明
2015-01-08 14:59 发布:yuhang 浏览:434 下面是Swift中基本的数据类型介绍说明: 1,变量:使用var声明 1 var str:String = "hangge ...
- Swift中数据类型
Swift类型的介绍 Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等 先了解整型和浮点型 整型 有符号 Int8 : 有符号8位整型 Int16 : 有符号16位整型 Int32 ...
- Swift 基本数据类型与运算符表达式
// // main.swift // LessonSwift01 // // Created by lanouhn on 16/1/25. // Copyright © 2016年 齐彦坤. All ...
- swift基本数据类型使用-数组使用
目录 数组的使用 1.数组的定义 2.对可变数组的基本操作 3.数组的遍历 4.数组的合并 5. 示例 数组的使用 1.数组的定义 1> 定义不可变数组 2> 定义可变数组 2.对可变数组 ...
- Swift - 复杂数据类型说明(数组,字典,结构体,枚举)
1,数组 - Array 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 var types ...
随机推荐
- [jQuery]无法获取隐藏元素(display:none)宽度(width)和高度(height)的新解决方案
在做茶城网改版工作的时候,又遇到一个新问题,我需要用jQuery写一个通过点击左右图标来翻阅图片的小插件,写好后测试可以正常运行,但是放到Tab中后发现只有第一个Tab中的代码能够正常运行,其它全部罢 ...
- C#4 for循环 迭代法 穷举法应用
for()循环. 四要素: 初始条件,循环条件,状态改变,循环体. 执行过程: 初始条件--循环条件--循环体--状态改变--循环条件.... 注意:for的小括号里面分号隔开,for的小括号后不要加 ...
- C++语言学习——LRJ入门经典笔记
1.scanf的输入格式,空格.TAB和回车符都是无关紧要,所以按Enter键并不意味着输入结束. 告诉程序输入结束的方式: 在windows下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再 ...
- web2py官方文档翻译
00前言 我相信能够轻松地构建高质量增长的web应用程序是至关重要的一个自由和开放的社会.这可以防止玩家最大的垄断信息的流通. 因此我从2007年开始web2py项目,主要是作为一种教学工具与简化we ...
- MRD-5012型RS232,RS485有源隔离中继模块,采用磁隔离技术,金升阳DC-DC隔离电源,纯硬件自适应方向,速度高达256000bps
RS485\RS232磁隔离中继模块MRD-5012能够实现232转485或者485转485通信信号的电气隔离,同时提高驱动能力,能够在实现通信信号隔离并且延长通信距离,使485节点可以最大增加到25 ...
- gridview外边距
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?注册 x 本帖最后由 同舟 于 2013-9-30 11:44 编辑 最新项目需要个单行显示功能键 ...
- firemonkey打开子窗体(匿名回调函数)
procedure TForm1.Button1Click(Sender: TObject);varChildForm: TForm2;beginChildForm := TForm2.Create( ...
- Unicode其实是Latin1的扩展。只有一个低字节的Uncode字符其实就是Latin1字符——附各种字符编码表及转换表
一.概念 1,ASCII ASCII(American Standard Code for Information Interchange),中文名称为美国信息交换标准代码.是 ...
- perl 正则命名捕获
#!/usr/bin/perl -w =pod 命名捕获--给匹配上的内容加上标签 捕获到的内容都会保存在%+散列中,这个散列的key为对应的标签: 方便之处就是利于程序扩展和阅读,不用繁琐的一个一个 ...
- qt运行库
KERNEL32.DLL MINGWM10.DLL MSVCRT.DLL LIBGCC_S_DW2-1.DLL QTCORE4.DLL QTGUI4.DLL 笔者安装的是QT SDK.(发行版本这是前 ...