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 ...
随机推荐
- 调用Response.Redirect 捕获异常 解决办法(摘抄)
如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-catch ...
- Linux学习3——磁盘文件管理系统与压缩和打包操作
一.写在前面 本节将对Linux的磁盘文件系统.文件的压缩打包等操作进行简要介绍. 二.完成目标 1.了解磁盘文件系统的接本知识 2.操作文件和目录的相关命令 3.文件系统的简单操作命令 4.Lin ...
- Hadoop 安装大纲
安装centos,配置stable ip address,文件系统,根目录用户密码,hostname,安装相关工具 打开centos,创建hadoop用户,密码.配置eth0,onboot=YES, ...
- C#.net 摄像头驱动程序,用avicap32.dll
装了摄像头后一般会有 avicap32.dll文件,没有一样可以用这些代码. 不需要在解决方案里面引用这个.dll文件. 下面有二种写法的例子: 例一: using System;using Syst ...
- hdu1281棋盘游戏
Problem Description 小希和Gardon在玩一个游戏:对一个N*M的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只 ...
- 嵌入式平台使用gtest进行白盒测试
看了coderzh大神写的gtest(http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html)使用的帖子,觉得gtest这个工具比 ...
- jQuery停止事件冒泡
event.stopPropagation(); 在jQuery中提供了stopPropagation()方法来停止事件冒泡.终止事件在传播过程的捕获.目标处理或起泡阶段进一步传播.调用该方法后,该节 ...
- 移动网络山寨版(OpenBTS)【2】频段的故事
OpenBTS 系统有两个看点.一个是无线收发,尤其是频段的处理,另一个是网络系统,尤其是替代传统的基站(BTS),基站控制器(BSC),移动控制中心(MSC),以及(HLR/VLR)的另类方案. 先 ...
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
使用VS2008,在项目属性中有一项MFC的使用,有三种设置: 1.使用标准Windows库 2.在共享DLL中使用MFC 3.在静态库中使用MFC 第一种顾名思义. ...
- Android Http异步请求,Callback
1 首先是HttpConnection,方法包括HttPost, HttpGet package com.juupoo.common; import java.util.ArrayList; impo ...