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 ...
随机推荐
- 自动工作负载库(Automatic Workload Repository,AWR)
自动工作负载库(Automatic Workload Repository,AWR)AWR的由来: 10g之前的oracle:用户的连接将产生会话,当前会话记录保存在v$session中:处于等 ...
- 使用sumlime text有感
学习JS和CSS.HTML用sublime text挺好的,这个工具不仅打开速度很快,而且也容易让页面运行(右键,在浏览器中打开),新建html页面的时候,先写个感叹号,然后按ctrl+e,会自动生成 ...
- php get_magic_quotes_gpc() addslashes()
最近学了学PHP,看到这段代码 function daddslashes($str){ return (!get_magic_quotes_gpc())?addslashes($str): ...
- linux 命令入门
1 linux 中,一切皆文件. 图片.MP3和视频,它们都是文件. 目录,是一种特殊的文件,其中包含其他文件的信息.磁盘驱动器则是真正的大文件了. 网络连接也是文件,甚至运行中的进程都是文件.这些都 ...
- How to recover a skipped tablespace after an incomplete recovery with resetlogs? [ID 1561645.1]
n this Document Goal Solution This document is being delivered to you via Oracle Support's Rapid ...
- Win手机安卓程序初体验
老大说快看博客园,Windows手机可以装安卓程序了. 啊,真的么?可以在我的撸妹1520上愉快的玩COC了么?我还可以愉快的看小说,不对,是听小说,哈哈,安卓君的三千万程序兵,等着老夫来一一临幸你们 ...
- [置顶] 学习鸟哥的Linux私房菜笔记(6)——过滤器、输入输出及管道
一.过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称之为过滤器 对过滤器和进程,存在着输入源与输出对象 二.输入.输出.重定向 输入:过滤器的数据 ...
- Android中的Menu
Android中的设置按钮:长按或点击菜单键 1.长按选项: 布局文件: <LinearLayout xmlns:android="http://schemas.android.com ...
- phpcms 一些bug
首页禁止使用{php $a = }; 因为phpcms在模板解析中默认用到了$a变量,如再次使用会导致phpcms的get标签return报错
- Python学习路径和个人增值(整合版)
PS:内容来源于网络 一.简介 Python是一种面向对象.直译式计算机程序设计语言,由Guido van Rossum于1989年底发明.由于他简单.易学.免费开源.可移植性.可扩展 ...