Swift基础语法

来源:互联网 发布:免费的gis软件 编辑:程序博客网 时间:2024/06/07 15:24

引入文件:

在Swift中导入类库使用 import 类库名, 不再使用<> 和“”

import Foundation

输出语句:

Swift中的输出语句使用print  C语言中使用prientf

print("Hello, World!")

常量 变量:

定义常量使用 let   常量不能改变

定义变量使用var   变量可以改变

let myGender = "女"//myGender = "男" //编译会报错var carName = "BMW"carName = "Audi"print(carName) //可以改变

变量类型的隐式转换:

在Swift中定义常量变量不给定相关的类型,他会隐式转换成你给定的初始值类型

let name = "Jack"//如果这样子定义出来一个常量,他会隐式转换成String类型let namr1 : String = "Rose"//如果给定类型,后边赋值的时候需要根据类型进行赋值let age : Int = 18 //如果定义常量最好给出初始值,定义变量可以不给初始值var age1 : Int?//?表示age1的类型为可选类型,其值可以为空print(age1)//定义一个字符类型的变量var char : Character = "A"//赋值字符类型的时候仅需一个字母即可//定义一个布尔类型的变量(在swift中bool变量的类型只有 true false)var flag : Bool = true

字符串:

创建空的字符串的两种方式

var str_emperty = ""var str1_emperty = String()

判断一个字符串是否为空

if str_emperty.isEmpty {    print("str_emperty isEmpty");}

字符串拼接

var str_url = "http://"var str = "www.baidu.com"let str_new_url = str_url + str;print(str_new_url)print("百度网址:\(str_new_url)");// \(变量名)输出相关的内容【插入式取值】

获取字符串的长度

var str1 : String = "abcdef"print(str1.characters.count)

字符串比较

var str2 = "MBboy"var str3 = "GBLW"if str2 != str3 {//==    print("两个字符串不等")}

数组

Swift中数组的元素类型必须相同

定义数组

//定义一个数组var nameArray = ["yuanyuan", "GBLW", "WYW"]print(nameArray);var nameArray1 : Array<String> = ["YQ", "XiaoQiang", "FatZhou"]//定义一个空数组(字符串)let array = Array<String>()print(array);

访问数组中的元素

print(nameArray[1])

向数组中添加元素

var int_array = Array<Int>()int_array.append(520)int_array.append(123)print(int_array)//使用运算符添加数组元素int_array += [100]int_array += [120]print(int_array)//使用运算符添加多个数组元素int_array += [800, 900]print(int_array)

插入元素到具体位置

int_array .insert(521, atIndex: 1)print(int_array)

移除元素

//移除某个元素int_array.removeAtIndex(4)print(int_array)//移除所有元素int_array.removeAll()

字典:

定义字典

//定义字典类型的变量var dic : Dictionary<String,Int> = ["a":18, "b":69, "c":38]print(dic)//定义空字典var dic1 :Dictionary<String,Int> = [:]var dic2 = Dictionary<String,Int>()

往字典里添加键值对

dic["d"] = 50

修改字典中的内容(根据键去修改值)

dic["a"] = 90

删除字典中的内容(根据键去删除)

dic.removeValueForKey("b")

元组:

定义元组(两种方式)

//方法一:直接初始化一个元组,通过隐式类型推断一个元素的类型let tuples = ("一班", ["iOS", "html5", "Android"])//方法2:显示初始化的方式let tuplesNew:(String, Array) = ("8班", ["iOS", "html5", "Android"])

取出元组中的值(两种方式)


//第一种取值方式:直接把元组赋值给另外一个常量,根据相关标记进行取值let tuplesNew1 :(classroom:String, course:Array) = tuplesNewvar classInfo = tuplesNew1.classroom + tuplesNew1.course[0] + tuplesNew1.course[1] + tuplesNew1.course[2]print(classInfo)//第二种取值方式:直接通过下标获取元素的值var classInfoNew = tuplesNew1.0 + tuplesNew1.1[0] + tuplesNew1.1[1]print(classInfoNew)

Switch语句的使用:

//switch形式使用fallthrough实现贯穿每种可能let value = 0switch value {case 0 :    print("T.O.P")    fallthroughcase 10:    print("GD")    fallthroughdefault:    print("胜利")}//特点二:case后可以使用一个范围switch value {case 0..<10:    print("输出0-10之间的数值")case 10...100:    print("输出10...100的数值")default:    print("other")}//特点三:case后可以使用(let和var修饰的常量或者变量) where是满足某种条件switch value {case var i where value >= 0 && value < 6:    i = 99    print(i)default:    print("other")}//特点4: case后还可以匹配一个元组let point = (10, 10)switch point {case (10,0):    print("111")case(10,8):    print("222")case(_,10)://_代表可以忽略某个元素    print("333")case(10, 10):    print("555")default:    print("444")}









0 0
原创粉丝点击