Swift初探

import Foundation
//// 输出语句 //print("Hello, World!") // //// 使用let定义一个常量, 不能重新赋值 //// Swift支持隐式类型推断,可以根据初值,自动的判断Swift的数据类型 //let a = 10 // //var b : String = "sf" // //let c = 20.1 //// Swift不支持隐式类型转换,不能让两个不一样的数据类型做四则运算 //// Swift强转格式: 数据类型 (需要装换的数据) //let d = Double(a)+c // //let 中国 = "世界第一" // //let 😢 = "❀" // //let n = 中国 + 😢

//let a = "abv" // //let b = "acc" //// Swift 里面支持运算符的重载, 会根据语境自动判断运算符的含义 //print(a + b)

//// Swift里面使用var定义一个变量 //var a = 10 // //// 如果需要定义一个初值为nil的变量的的话, 格式: var + 变量名 + ":" +变量类型? = nil //var b : String? = nil

/**
* 数组
*/ //// Swift数组里面的数据类型必须是一样的 //let array = [1, 2, 3, "a"] // AnyObject Swift1.0版本, NSObject Swift2.0版本 //// 数组初始化的第二种方式, 先指定数据类型 //let array1 : [Int] = [1, 2, 3] //// 定义一个空的数组 //let array2 : [Int] = []

//var array = [1, 2, 3, 4, 5] // 数组的增删改查 /** 查 */ //print(array[1]) /** 增 */ //array.insert(301, atIndex: 2) // 在某一个位置插入一条数据 // //var array2 = [10, 20, 30] // //array.insertContentsOf(array2, at: 2) // 在某一个位置插入新的数组 // //print(array)

/** 删 */ //array.removeAll(keepCapacity: true) // 删除数据的同时, 保存内存的空间 Swift里面的bool是一个枚举.只有true 和false两种参数 //let range : Range = Range(start: 2, end: 4) // //array.removeRange(range)

/** 改 */ //array[1] = 10 // //print(array)

//var array2 = [6, 7, 8, 9] // //var array3 = array + array2 // //print(array3)

/**
* 字典
*/ // 创建字典的两种方式, Swift1.0 这种方法不存在 //let dictionary = [1 : 2, 3 : 4, "a" : "b"] //// Swift的字典里面 所有的key, 所有的value都必须是同一类型 //let dictionary1 : [Int : String] = [1 : "a", 2 : "b"]

//var dict = [1 : 2, 3 : 4] ///** 增 */ //dict[7] = 8 ///** 改 */ //dict[1] = 9 //print(dict) ///** 删 */ //dict.removeValueForKey(1) // == dict[1] = nil //print(dict) ///** 查 */ //print(dict[3])

/**
* 元组
*/ // 使用() 表示定义一个元祖, 元祖里面没有数据类型的概念 //let type = ("罗峰", "DMI") //// 访问元祖的第一个方法 //print(type.0) // //let type2 : (name : String, nickName :String) = type // //print(type2.nickName)

//let array = [1, 2, 3, 4, 5] //// ////for var i = 0 ; i < array.count; i++ { //// print("i = \(i)") ////} // //var i = 0 // ////while i < 10 { //// i++ //// print(i) ////} // //repeat { //i++ //print(i) //}while i < 10 // //for var a in array { // print(a) //}

/**
* 循环结构
*/

//var timer : String? = nil // //if timer != nil { // print("timer is true") //} else { // print("timer is false") //}

//let value = 11 // ////switch value { ////case 10: //// print("0") ////default: //// print(value) ////} // ////0...10 表示从0 开始到10 结束 包含10 ////0..<10 不包括10 //switch value { //case 0...10: // print(value) //case 11..<20: // print(value) //default: // print("飞了") //}

//let point = (10, 10) // //switch point { //case (10, 10): // print(point) //case (_, 10): // print(point.0) //case (10, _): // print(point.1) //case (_, _): // print(point) //} // //let value = 0 //let value1 = 100 //switch value { //case 0 where value1 < 10: // print(value) //case 0 where value1 > 10: // print("true") //default: // print("错误") //}

// 无参无返回值� // func (关键字) test (函数名) "()"(参数列表) -> Void(返回值类型) //func test() -> Void { // print("I am the first 函数") //} // //test()

// 无参有单个返回值 //func test1() -> String { // return "禹神" //} // //let str = test1() // //print(str)

//func test2() -> Array<Int> { // return [1, 2, 3] //}

// 返回一个OC的数组 //func test3() -> NSArray { // return [1, 2, "a", "b"] //} // //var array : NSArray? = nil // //array = test3() // //print(array)

// 无参有多个返回值

//func test8() -> (String, String) { // return ("罗峰", "18") //} // //let type = test8() // //print(type) //print(type.0)

// 有参无返回值 // 参数格式参数名 + ":" + 参数类型 // -> Void 可以省略 //func test4(name : String, sex :String) { // print("我叫\(name), 我的性别是\(sex)") //} // //test4("罗峰", sex: "未知") // //// 参数是一个数组格式: 参数名 + ":" + Arra<数据类型> //var array : Array = [1, 2, 3, 4, 5] // //func test5(person : Array<Int>) { // print(person) //} // //test5(array) // //// 有参有单个返回值 // //func test6(person : Array<String>) -> Array<String> { // return person //} // //func test7(person : Dictionary<String, String>) -> Dictionary<String, String> { // return person //}

// 有参有多个返回值 //func test9(name : String, age : String) -> (String, String) { // return (name, age) //} // //let ta = test9("luofang", age: "huaer") // //print("i am\(ta.0), jintn\(ta.1)")

// inout函数

// Swift函数里面的参数 默认是使用let修饰的,是不可以更改的 //func test10(inout number : Int) { // number = 100 //} // //var a = 5 // //test10(&a) // //print(a)

// 嵌套函数

func test12(){ print("一层") func test13(){ print("二层") func test14(){ print("三层") func test15(){ print("4层") func test16(){ print("5层") func test17(){ print("6层") } } } } } }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容