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 ...
随机推荐
- c#的数据类型、运算符
数据类型:整型:int short long byte小数:double float decimal布尔:bool字符:char 定义变量:数据类型 变量名 [= 值];变量名的命名规则:1.组成的字 ...
- maven02 命令
- android经典Demo(转载)
一篇不错的资源博文,转载分享给大家: 1.Android团队提供的示例项目 如果不是从学习Android SDK中提供的那些样例代码开始,可能没有更好的方法来掌握在Android这个框架上开发. ...
- js 完美兼容浏览器的复制功能
1,js结合swf的复制功能,完美兼容火狐,谷歌,360,ie8,使用示例:(ps:引入copy.swf比较重要,文件传送门 解压密码:http://www.bieanju.com/,为了防止360删 ...
- HDU 1021 - Fibonacci Again
找规律,分析让 F[N] 每一项对 3 取余的余数: 1,2,0, 2,2,1,0, 1,1,2,0, 2,2,1,0, 1,1,2,0, 2,2,1,0 ......... 显然循环了 #inclu ...
- 读写Excle,不用office环境
1.下载NPOI.dll,并添加引用 2.ExcelHelper帮助类,以下为读写的参照方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...
- 当tomcat有两个链接数据库的应用同时运行可能冲突
-Xms512M -Xmx1024M -XX:MaxPermSize=256M
- Android Studio之build.gradle小技巧
一: 当你工程引用android 的support包的时候,常常会这样写: dependencies { compile 'com.android.support:recyclerview-v7:22 ...
- 可爱的 Python : Python中函数式编程,第二部分
英文原文:Charming Python: Functional programming in Python, Part 2,翻译:开源中国 摘要: 本专栏继续让David对Python中的函数式编 ...
- g++编译cpp文件
gdb调试c程序打不到断点的原因可能是编译c文件的时候没有加-g选项,-g选项是编译加debug信息的,不加是打不到断点的 g++编译cpp文件 g++ -g -c *.cpp 编译 g+ ...