// swift 命名规则:
// 1. 不能与系统关键字重名, 但是可以用 `` 来修饰(可以用它来起名字)
// 2. 不能用处了 _ 以外别的符号开头,_ 不能单独作为变量名或者变量(不能单独命名)
// 3. 不能用 ⬅️ → 作为变量或者常量名
// 4. 不能用数字来开头, 但是数字可以在中间
/*
1. 常量 和 变量
*/
// 常量, 在swift中常量用let修饰(swift里面没有分号, 用回车作为结尾)
// 未指定类型变量
let a = 0
let `let` = 10
let a3 = 10
// 指定类型变量
let typeDefineA : Int = 10
let typeDefineB : Float = -2.0
// 取绝对值函数
abs(typeDefineB)
// 输出typeDefineA
print(typeDefineA)
// 变量, swift 变量用 var 修饰
// 未指定类型(如果是未指定类型,系统会自己判断类型)
var typeNotDefineA = 10.6845
// 指定类型
var typeNotDefineB : Int = 10
// swift 中如果类型不一样,不能进行运算操作
// int a = 10,
// float b = 10.0
// float c = a + b
let typeNotDefineD = Int(typeNotDefineA) + typeNotDefineB
let typeNotDefineF = Double(typeNotDefineB) + typeNotDefineA
// 数据类型
// 1. 整型:Int Int8 Int16 Int32 Int 64
// 无符号整型: UInt UInt8 UInt16 UInt32 UInt64
Int.max
Int.min
UInt.max
UInt.min
// 2. 字符 和 字符串
let charactor = "a" // 如果没有指定类型, 可以当成字符使用也可以当做字符串使用
var charactor1 : Character = "a" // 指定类型为字符串
// swift中定义字符串的时候没有 @ 符号
var stringA = "abc" // 指定类型为字符串
var stringB = "KK"
count(stringA)
// swift 2.0 之后 求字符串长度
//stringA.characters.count
stringA.uppercaseString
stringB.lowercaseString
// 可以一直转换下去
stringA.uppercaseString.lowercaseString
// 字符串的拼接
var stringC : String = "def"
stringA + stringC
// 判断字符串是否相等
stringA == stringC
// 在swift 中对所有的unnicode做了编码, 可以用汉字等作为变量,常量名
var 鹏 = "人"
var �� = "苹果"
var 苹果 = "��"
苹果 = 鹏 + ��
// 3. 数组
// 创建一个空数组
var emptyArr = [String]()
var emptyIntArr = [Int]()
var myArr = ["小明", "张旭", "石琪"]
var intArr = [1, "2", 3, 5]
// 如果创建的时候 指定了元素的类型,赋值时, 必须为指定类型, 否则报错
//emptyArr = [1, 2]
// 数组的增加
//myArr += "鹏"
myArr += ["123", "245"]
// 在数组后面加上是按顺序添加
myArr.append("雪")
var 颜色= ["蓝", "白"]
颜色.append("黑")
// 修改
颜色[0] = "蓝"
颜色.removeAtIndex(0)
print(颜色)
颜色.removeLast()
// 4. 元组
var person = (name : "张旭", age : "80")
var person1 = (name : "JeanHead" , age : 18)
person.name
person.age
person.1
person.0