Swift 入门 基础知识
来源:互联网 发布:中国历史延续 知乎 编辑:程序博客网 时间:2024/04/30 15:59
// 当需要导入框架的类库的时候,使用 import 类库名不用再加 <> 或者 ""
import Foundation
print("Hello, World!")// 在 Swift中, 使用 print输出
// 1. 定义常量(let)和变量(var)
let myGender = "男"// 常量不可更改
// 定义变量 可以更改
var carName = "BMW"
carName = "Audio"
// Swift 定义的变量或者常量的时候,需要标识出变量或者常量的类型, 如果不去标识,会根据初始值自动判断类型, 由后面的值来决定变量的类型
var age = 20
let name0 = "Jack"// 会自动推断为 Sting类型, 由后面的值来决定 name的类型
let name : String ="Jack" //由前面的类型 String, 决定后面赋什么类型的值,即后面值的类型要和 String 一致
var age1:Int?// 问好表示当前 age1是可选类型其值可以为空 并不是赋予 0
// 注意:如果使用 let 修饰,必须赋初值; 如果是使用 var修饰, 可以不付初值
print(age1)
// 定义字符类的变量
var char:Character ="A" // 此时的char 就是一个字符.切记其值也是用"", *只能放一个字符*
// 定义 Bool类型的变量(值只有 true , flase)
var flag:Bool =true;
/************************字符串****************************/
// (1).创建一个空串变量
var str_empty = ""
var str1_empty = String()
// (2).通过字符串对象的 isEmpty方法判断是否为空
if str_empty.isEmpty {//(if 判断之后必须是 Bool 类型)
print("str_empty is empty!!!")
};
// (3).拼接字符串
var str_url = "http:\\\\"// 转义字符 \\表示会转义一个'\'
var str = "www.lanou3g.com"
let urlString = str_url +str
print(urlString)
print("\(urlString)\n")// 插入式取值 \(变量名)\
// (4).获取字符串长度
var str1 = "abc"
// print(str1.characters.count)
// (5).字符串插值
let mul = 4
let content = "\(mul) * 2.5 =\(Float(mul)*2.5)"// swift 中不存在 C语言中的整型+浮点型 =浮点型的, 需要强转
print(content)
// (6).字符串比较
let str2 = "xiaoxiao"
let str3 = "lanou"
if str2 ==str3{
print("两个字符串相等")
}else{
print("不相等")
}
/************************数组****************************/
// Swift 的数组里面存储的所有数据,都必须是同一类型的
// 定义一个数组变量
var nameArray = ["张三","李四","王五"]
var nameArray1:Array <String> = ["张三","李四","王五"]
let arrat = Array<Int> ()// 定义一个字符串类型空数组
var int_arr = [Int]()// 定义一个整型空数组
// 访问数组中某个元素
print("第二个元素:\(nameArray[1])")
// 向数组中添加一个元素
var int_arr1 = [Int]()
int_arr1.append(10)
int_arr1.append(20)
// 向数组中某个位置,插入一个元素
int_arr1.insert(30, atIndex:2)
// 移除数组中的某个位置上的元素
int_arr1.removeAtIndex(1)
// 移除所有元素
int_arr1.removeAll()
print(int_arr1)
/************************字典****************************/
var dictionary:Dictionary<String,Int> = ["a":10,"b":20]
// 定义一个空字典
var dictionary1:Dictionary<String,Int> = [:]
var dictionary2 = Dictionary<String,Int>()
// 向字典中添加一个键值对
dictionary["c"] =30
print(dictionary)
// 修改字典中某个键值对的值
dictionary["a"] =120101010;
print("更改后:\(dictionary)")
print(dictionary["a"])
// 删除字典中的一个键值对
dictionary.removeValueForKey("a");
/************************元组****************************/
// 元组中可以存放多种类型的值,而且存放的个数可以多个
let status = ("13班",["IOS","Html5","Android"])
let statu:(classroom:String,course:Array) = ("13班",["IOS","Html5","Android"])
// 访问元组中某个元素
// ①通过下标
print("班级是:\(status.0)")
// ②通过标注名
print(statu.course)
/**********************循环结构和分支结构****************************/
// 第一种形式
for var i =0; i < 10; i++
{
print("+++\(i)")
}
// 第二种形式
for number in1..<10
{
print(number)
}
// 第三种形式
for number in1...10
{
print(number)
}
// while , repeat...while
var i = 5
while i >0
{
i--
print(i)
}
repeat
{
print("repeat...while")// 先执行循环体,再判断条件
}while1 < 0
// 使用 for循环便利数组
var animalsArray = ["dog","cat","tiger","pig"]
for a inanimalsArray
{
print(a)
}
// 使用 for循环遍历字典
var animalsArray1 = ["dog":"狗","pig":"