import Foundationprintln("Hello, World!")var string1 = "Hello BeiJing" //定义一个变量(字符串)
//var string1: String = "Hello, BeiJing" //系统会自己主动进行类型判断为此表达式
println("string1 = \(string1)")let string2 = "Hello, Everybody" //let定义一个常量println("string2 = \(string2)")string1 = "Hello"let number1 = 20
//let number1: Int = 20 //在Swift中整形自己主动判断为Int, 假设系统是32位系统,那么这个整形就是Int32,假设是64位系统,那么就是Int64let number2: Int8 = 20 //假设我须要一个8位的整形数,那么须要显示的指定位Int8let number3: Double = 12.0 //在Swift中,浮点型默认是Doublelet number4: Float = 28.0 //假设须要Float类型,那么须要显示指定var number = Double(number2) + number3 //Swift中,不支持隐式转换,假设想让两个不同类型的数据进行运算,那么须要显示的转换其类型: 类型名(常量/变量名)let 你好 = "你好"
println("你好 = \(你好)")//元组, 从关系型数据库里引出的概念, 关系型数据库里面的每一条记录都相当于一个元组,元组里面的数据能够是不同类型.<pre name="code" class="objc">var request404Error:(Int, String) = (404, "Request Error Message") //定义一个元组, 相当于(Int, String)类型的元组println("requestCode = \(request404Error.0),requestErrorMessage = \(request404Error.1)") //能够通过下标来取出元组里面的元素,元组的分解var request404ErrorA = (errorCode: 404, errorMessage: "Request Error Message") //在创建元组的时候, 能够给元祖里面的元素类型名println("errorCode = \(request404ErrorA.errorCode), errorMessage = \(request404ErrorA.errorMessage)")//数组(Swift中数组元素是同一类型才干够从数组中读取,也就是仅仅能存放同一类型的元素)
var names: String[] = ["太一", "嘉儿", "阿和", "阿武"]
var name1 = ["美美", "光子郎"]
println("names = \(names)")names.append("素娜") //往数组里面加入元素,能够使用append
var name = name1 + names //往数组里面加入一个数组, 能够使用"+"
println("name = \(name)")
println("names = \(names)")names[0] = "亚古兽" //通过下标改动数组里的元素
println("names = \(names)")names.removeAtIndex(0) //删除元素
println("names = \(names)")
names.removeLast()
println("names = \(names)")//let声明的数组为不可变数组, 不能加入和删除元素 但能够替换
let namesA = ["大辅", "一乘寺贤"]
//namesA.removeAtIndex(0)
namesA[0] = "阿助"
println("namesA = \(namesA)")//var namesB = ["路飞", "索隆", "娜美", 32]
//namesB.append("香吉士"))

字典

//字典 在Swift中 要求全部的key是同一类型 全部的value是同一类型
var person: Dictionary<String, String> = ["name":"路飞", "sex":"男"]
println("person = \(person)")person["habit"] = "足球"
println("person = \(person)")//person["key"] = newValue,假设key已经存在,那么进行的是替换操作 假设key不存在,那么加入了一组键值
person["name"] = "索隆"
println("person = \(person)")person.updateValue("娜美", forKey:"name") //println("person = \(person)")let oldValue = person.updateValue("乔巴", forKey:"name") //使用updateValue(value, forKey:key) 进行字典里面元素更新的时候,会返回被替换掉的旧值println("person = \(person)\n oldValue = \(oldValue)")let personA = ["name":"罗宾", "sex":"女"]
//personA["name"] = "luobin"//数组和字典的可变和不可变通过var和let来进行判定,不同的地方是假设数组声明为let, 那么不能够加入和删除元素,可是能够更改.通过let声明的字典,既不能够加入删除,也不能够更改for name in names{//数组的遍历, for inprintln("name = \(name)")
}//数组的遍历,而且得到对应元素的下标
for (index, name) in enumerate(names){println("index = \(index), name = \(name)")
}//字典的遍历,得到key和value (字典里打印的东西是无序的)
for (key, value) in person {println("key = \(key), value = \(value)")
}
//控制语句var isNumber:Bool = true
var aNumber = 3 ; var bNumber = 5 // 假设想在一行有多个语句,那么须要用";" 进行切割//在Swift中, if语句的推断条件仅仅能是Bool类型
if isNumber {println("aNumber = \(aNumber)")
}for var i = 0; i < 10; i++ {println("i = \(i)")
}for j in 0..9 { // ".."表示的是一个区间,包含左边的值,可是不包含右边的值println("j = \(j)")
}for k in 0..9 { //".."既包含左边的值, 又包含右边的值println("k = \(k)")
}
//switch
var a = 11
switch a {
case 1:println("a = 1")
case 11:println("a = 11")fallthrough // 强制运行下个case语句
default:println("a = other number")
}//case语句能够是个范围, 而且这个范围是能够交叉的, 可是仅仅运行第一个满足case条件的语句
switch a {
case 1..20 where a == 12: //能够进行双重判定, 使用 where a == 12println("这是一个个位数")
case 11..100:println("这是一个十位数")
default:println("其它数字")
}var point = (4, 0)switch point {
case(0, 0):println("原点")
case(let x, 0): //使用(let x, 0) 能够取出元组里面相应位置的元素println("X轴, x = \(x)")
case(0, _): // "_"表示忽略元组里面相应位置的元素println("Y轴")
default:println("象限内")
}

Swift基础一(代码)相关推荐

  1. Swift基础 - - 高德地图实践

    高德地图开发需要自己到官网http://lbs.amap.com/console/ 注册一个ak,新建一个swift工程,然后在Info.plist中添加一个NSLocationAlwaysUsage ...

  2. Swift基础--方法

    Swift基础--方法 swift中方法分为实例方法和静态方法,方法时于默写特定类型相关联的函数.类,结构体,枚举都可以定义实例方法,也可以定义静态方法. 一,实例方法 实例方法: 给特定类型实例封装 ...

  3. 2个字符串相等 swift_Swift快速入门(一)之 Swift基础语法

    Swift快速入门(一)之 Swift基础语法 近期重新学习了一遍Swift语言,主要以<Swift编程权威指南(第2版)>为教程,学习过程中结合比对Java语言特性将学习心得作为三篇笔记 ...

  4. Swift基础——数组Array

    Swift基础--数组Array 数组:使用有序列表存储同一类型的多个值,相同值可出现在一个数组的不同位置. 数组简介 首先,和String一样我们也来看看他的一些Api方法 常规操作方法 rever ...

  5. Swift基础语法学习笔记(1)

    Swift基础语法的学习 1.HashMap 2.for-in循环控制 3.??聚合运算 4.SwiftUI的一些小技巧 5.init初始化器 6.@propertyWrapper属性包装器 音乐评分 ...

  6. 从零开始的iOS开发:00 | Swift基础语法(上)

    目录 一.开发环境 二.关于Swift (一)Swift简介 (二)Swift特性 (三)结语 三.Swift基础语法 (一)编程准备 (二)Hello,world! (三)简单值 1.变量与常量 2 ...

  7. Swift基础——字符串简介

    Swift基础--字符串简介 String简介 但凡接触过其他语言,我们不难发现,或者说我们应该都知道字符串(一系列字符集合) 那么下面我们正式开始: count :获取当前字符串的字符数量 \(参数 ...

  8. Swift基础知识概述

    第二章: Swift基础知识概述 1. 三件事 学习Swift语言 学习Xcode 理解ios开发组件,API.SwiftUI.SDK等 从以上三个方面自己修练.不用担心. 2. 开始学习 首先看一段 ...

  9. 显示在一行_使用基于Swift的一行代码自动显示Log,Network,CPU,RAM,FPS等

    GodEye 使用基于Swift的一行代码自动显示Log,Crash,Network,ANR,Leak,CPU,RAM,FPS,NetFlow,Folder等.就像上帝睁开眼睛 功能 监控日志并区分日 ...

最新文章

  1. 打开一个解决方案时弹出“项目所需的应用程序未安装,确保已安装项目类型(.csproj)的应用程序”问题的解决方案
  2. boost::interprocess::windows_shared_memory用法的测试程序
  3. idea开发搭建scala项目流程(二)
  4. linux alias别名管理
  5. 重庆理工大学图像处理实验二:图像增强
  6. 视频分割修整功哪一款视频剪辑软件更好用?
  7. 2021-08-21 mvc架构
  8. Wonderware-InTouch 服务器Windows Server 2012 R2系统安装intouch2017
  9. python中浮点型占几个字节_python的浮点数占多少个字节
  10. 雅虎14条性能优化(经典)
  11. 使用工具Android Studio实现一个简单的Android版的新闻APP之美
  12. windbg 常用命令
  13. 敏捷开发中团队如何面对失败的Sprint
  14. 网站友情链接交换的方法
  15. 高次同余式的解数和解法
  16. 浅谈String的堆内存和栈内存
  17. 我看考研(一)——为什么考研之考研的理由的重要性
  18. Windows环境下安装RabbitMQ(官方文档中文版)
  19. 一个屌丝程序员的青春(三四四)
  20. 搜索引擎蜘蛛算法与蜘蛛程序构架

热门文章

  1. Python 将json字符串 进行列表化可循环
  2. Django---ORM操作大全
  3. 手机摇一摇功能音量大小跟系统音量一致
  4. 暴雪战网客户端上使用的那些开源库!
  5. ListView问题:Your content must have a ListView wh...
  6. 倒行逆施的贾金斯先生(转)
  7. Android编程之Intent源码详解
  8. usb设备的probe全过程
  9. jquery的选择器之-表单对象属性过滤选择器
  10. 更新k8s镜像版本的三种方式