// 在导入框架时,直接"import 框架名"
import Foundation
各语言后缀
C : .c
OC : .m
Swift: .swift |-> 混编后的后缀 .mm
C++ : .cpp /
①print打印的内容会自己单独一行,语句不需要时使用 “ ; ”作为结尾
②“ ;”的作用在swift中用于多句代码写在一行时分割使用
print("Hello, World!")
print("Hello swift")
量的命名规范:
// 1、符合UNICODE编码标准的均可以作为量的名称
// 2、尽管如此,我们仍然不可以使用系统关键字,以及不推荐使用表情和较特殊的字符来作为量的名称,并且要规范命名,见名知意
常量 使用let修饰,程序运行期间不可以修改的量
let number = 10
let string = "瑾年绝流芳"
变量 使用var修饰,程序运行期间可以被修改的量
var f1 = 10.0
print(f1)
f1 = 3.242592653589
print(f1)
// 在给未设定类型的量赋初值时,必须要有初值
// var integer1 ;(这样定义变量是不对的)
// 定义一个具备类型的量
// 数值型数据
var integer1:Int = 10
var double1:double_t = 1.414
var float:Float = 9.18
// 布尔型
var b1:Bool = false
// 字符型
var string1:String = "雨滴落在湖面,痒"
var character1:Character = "🌹"// 只能写一个字符
// 练习
var integer2:Int = Int()
var double2:Double = Double()
var float2:Float = Float()
var b2:Bool = Bool()
var string2:String = String()
//var character2:Character = Character()不能用,(例外)错误写法
print(integer2)
print(double2)
print(float2)
print(b2)
print(string2)
// 在打印时,若想输出多种内容,需要使用双引号包括内容,其中的量需要使用\(var)的方式来参与
// "\",转义字符
print("integer:\(integer2),double:\(double2),float:\(float2),bool:\(b2),string:\(string2)")
swift不允许量的隐式转换(不能将一个浮点值赋值给整型)必须使用强制转换
var num = 798;
var subString = "艺术家"
var totalName = String(num) + subString
print(totalName)
判断字符窜是否为空
var simpleString = String()
simpleString = ""
if simpleString.isEmpty{
print("来也匆匆,去也冲冲")
}else{
print("空山新雨后,天气晚来秋")
}
var str1 = "asd"
var str2 = "acd"
if str1 == str2 {
print("str1与str2相等")
}else{
print("str1与str2不相等")
}
str1 += str2
print(str1)
字符串拼接方式
// + :返回一个新值,原值不变
// += :直接对自身进行修改
var subString1 = "上海自来水"
var subString2 = "来自海上"
var subString3 = subString1 + subString2
print("subString1:\(subString1) subString3:\(subString3)")
subString1 += subString2
print("subString1:\(subString1) subString2:\(subString2)")
获取字符串长度
let 🇨🇳 = "我们是共产主义接班人🇨🇳"
var 💩 = "某某某"
print(🇨🇳.characters.count)
数组
①swift中数组可以存储所有swift数据类型
②swift中的数组中必须存储同一类型的值
// 第一种方式
var array1 = [1,2,3,4,5];
// 第二种创建方式
var array2:Array = ["a","b","c","d"]
print(array2)
// 空数组,但必须指定内部元素类型
var array3 = Array<Int>()
var array4 = [String]()
var array = [String]()
// 增
array.insert("iOS", atIndex: 0) // 打印结果array = ["iOS"]
array.append("Android") // 打印结果array = ["iOS", "Android"]
// 删
array.removeAtIndex(1) //打印结果 array = ["iOS"]
// 改
array[0] = "WindowsPhote" // 打印结果array = ["WindowsPhote"]
// 查
print(array)
// 对数组间进行操作
var tempArray = ["Meego","Ubuntu"]
// 新数组存储结果
var resultArray = array + tempArray
print(resultArray) // 打印结果resultArray = ["WindowsPhote", "Meego", "Ubuntu"]
// 源数组存储结果
array += tempArray
print(array) // // 打印结果array = ["WindowsPhote", "Meego", "Ubuntu"]
// 判断数组是否存在某一元素
let bool = array.contains("Ubuntu")
print("数组\(bool)存在这个元素")
// 数组元数个数
print(array.count)
字典
①swift中的字典的键值对可以是任意类型
②swift的字典中,尽管可以是任意类型,但是所有key值类型必须统一,所有value值类型也必须统一
OC中数组(有序,元素可以重复);
字典(无序,有key值不需要排序,主要是键值映射关系,key值必须遵循NSCopying协议,元素不重复)和集合(内容杂乱不排序,元素不可以重合)都是无序的
var dict1 = [1:"田家旭",2:"刘惠萍",3:"卢桥东",4:"马泽坤"]
// <key,value>的类型限定
var dict2:Dictionary<Int,String> = [:]
var dict3 = Dictionary<Int,String>()
print(dict1)
var dict = ["笑":"😊","哭":"😭","怒":"😡"]
// 增
dict["笑哭"] = "😂" // 打印结果 dict = ["笑哭": "😂", "哭": "😭", "怒": "😡", "笑": "😊"]
// 删
dict.removeValueForKey("笑哭") // 打印结果 dict = ["哭": "😭", "怒": "😡", "笑": "😊"]
// 改
dict["哭"] = "😢"
// 查
print(dict)
print(dict["怒"]) // Optional("😡")
// 其他属性
// 键值对个数
print(dict.count)
print(dict.keys)不好使,key和value都出来了
print(dict.indexForKey("怒"))不好使。
元组
①swift中用来存储一组数据的集合,可以是不同数据类型
②有序集合
var collection11 = ("马泽坤","男","65kg",19,false)
var collectionl2:(String,Bool,Float) = ("语文",true,93.7)
// 带有外部变量的的元素
var status:(name:String,gender:String,age:Int,spouse:Array) = ("马泽坤","男",19,["刘亚彬","张鹏"])
// 根据外部变量名来访问元祖元素
print(status.spouse[0])
// 根据下标来访问
print(status.3[1])
程序结构
// 循环结构
// ①
for var i = 0; i < 10 ; i++ {
print("第\(i)次陪你去看海")
}
// ② 开区间,1~9
for var i in 1..<10{
print("第\(i)次吃饭")
}
// ③ 闭区间,1~10
for var i in 1...10{
print("第\(i)次初吻")
}
// for...in遍历数组和字典
var fruits = ["banana","apple","orange","grape"]
for fruit in fruits {
print(fruit)
}
// 遍历字典
var music = ["name":"上心","album":"巡回演唱专辑","duration":"4:32"]
// 注意此处的key和value均为遍历使用的中间变量,可以是任何名称
for (key,value) in music {
print("\(key):\(value)")
}
// while
var count = 10
while count > 1 {
print("\(count-1)跑起来")
count -= 1 // count--在swift中弃用雇佣count -= 1代替
}
// repeat
repeat { // 类似于do...while,无论条件是否成立,都会先执行一次
print("第\(count)次喝醉")
count -= 1
}while count > 0