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":"

0 0
原创粉丝点击