Swift_基本数据类型
2016-01-27 12:19
357 查看
// // main.swift // 1Switf_基本数据类型 // // Created by LZXuan on 16-1-26. // Copyright (c) 2015年 LZXuan. All rights reserved. // //1.swift 没有main函数 //跟脚本语言很像 //从上自下一次执行 语句 import Foundation //定义函数 无参无返回值 func test1() { //(c c++ java c# OC等等 的一个产物) // //打印输出函数 //带换行的打印 print("Hello, Switf!") //swift 语句 不需要加';' //下面的打印函数 不带换行 print("hello,swift", terminator: "") } //执行函数中的代码 那么需要调用函数 //test1() //2.数据类型 //2.1定义常量 func test2() { //定义一个常量 常量必须要初始化 //定义常量格式 -> let 常量名:类型 = 值 //定义一个整型常量 let age:Int = 24 //定义一个浮点数 let f:Double = 3.14 //定义字符类型 let c:Character = "x" //打印输出 print(age) print(f) print(c) //可以这样来进行格式化输出一个常量或者变量的值 print("age = \(age)")//类似于C语言的格式化字符串 print("f = \(f)") print("c = \(c)") //swift 具有类型推断的功能 可以根据后面的值推断出 常量或者变量的类型 let a = 100//a 就是Int 类型 let 女汉子 = "女汉子" print(女汉子) } //test2() //2.2 变量 func test3() { // var 变量名:类型 //定义一个整型变量 可以初始化也可以不初始化 一般都要初始化 var a:Int let b:Int16 = 12 print(b) //swift 变量名 实际上 是按照unicode //变量名/常量名可以是汉字 let 汉 = 123 print("汉:\(汉)") } //test3() //3.溢出 func test4() { //给a 一个UInt32 的最大值 var a:UInt32 = UInt32.max; //swift 变量发生溢出这里会报错 //var b = UInt32.max+1 } //4.强制类型转换 func test5() { let a:Double = 1.23 let b:Int = 2 //swift不支持隐式转换 //var d:Double = a+b //var c:Double = b //不同的数据类型之间 不能直接运算, 如果要运算必须要强转 //类型() 强制类型转换 //把变量b的值得类型 临时强制转换为Double let d:Double = a+Double(b) print("d= \(d)") } //test5() //5.布尔值 //swift 引入了真正的布尔 true flase 和c++ 类似 //if 表达式中 必须是布尔值 或者 表达式的值是布尔 func test6() { //布尔值 只有true 和flase 两个值 let b:Bool = true print(b) //可以用于if结构 if(true) {//if 后面的表达式只能是布尔值 print("if结构") } if(b) {//if 后面的表达式只能是布尔值 print("if结构") } let c:Int = 3 if(c == 3) {//if 后面的表达式只能是布尔值 print("if结构") } /* 表达式的值必须是布尔值 if(c = 5) {//if 后面的表达式只能是布尔值 println("if结构") }*/ } //test6() //6.元组 //元组 (30,”xiaohong”) 多个相同数据类型或者不同的数据类型 组合在一起 这就是一个元组 func test7() { //元组类型 就是(类型1,类型2,....) //元组不需要定义直接使用 //第一种形式 (类型推断) 元组常量 stu1 ->(String,Int,Double) let stu1 = ("xiaohong",24,99.1) print(stu1) //获取元组中的元素 let name = stu1.0 let age = stu1.1 let score = stu1.2 //索引 是从0开始 访问 print("name:\(name) age:\(age) score:\(score)") //定义第二种形式的元组常量 //定义 元素的类型 要按照 String Double Int 顺序进行赋值 let stu2:(String,Double,Int) = ("xiaohuang",3.14,24) //第三种形式定义元素 赋值的时候加标签 let stu3 = (name:"xiaohuang",score:3.14,age:24) //通过标签访问元素 print("\(stu3.name)-\(stu3.score)-\(stu3.age)") } //test7() //8.可选值类型 /* 可选值 swift 特有 optionals 有一个值 或者没有值 像布尔值 //两种状态 有值 没有值/nil */ func test8() { //定义一个可选值 //?必须要紧跟类型 和 类型之间不能 有空格 //var op1:Int ? = 100 //错误 //有值 let op1:Int? = 100 //没有值 let op2:Int? = nil //或者 // var op2:Int? print("op1:\(op1)") print("op2:\(op2)") //要想得到可选值变量中的值 那么需要进行解包(强制解析) //可选值变量+! let num:Int = op1!//解包 获取可选值 op1中的值 //解包时必须要有值 否则会崩溃 print("num = \(num)") } //test8()
相关文章推荐
- swift自学笔记(五)(重写属性、final)
- Swift plugin for CLion
- swift自学笔记(四)(懒加载、存储属性、计算属性、类属性、属性监听)
- Swift版使用ThPullRefresh实现下拉上拉刷新数据
- iOS之地理位置及定位系统 -- 入门笔记(用Swift)
- The Swift Programming Language阅读笔记
- 12.断言Assert
- 11.可选类型(间接拆包)
- swift手记-6
- Swift基本概念
- Swift 基本知识点之一基本概念
- Swift传值传的是什么
- Swift语法_错误处理&&断言
- Swift语法_可选类型
- Swift语法_元组
- 关于 Swift(About Swift)
- iOS Swift 判断应用定位权限
- 猫猫学Swift之变量和常量(2)
- swift基础
- Swift FlatMap or Map