您的位置:首页 > 移动开发 > Swift

swift基本语法

2016-01-08 17:22 459 查看
import UIKit

/*
1.只有 .swift文件  所有的声明和实现都在同一个文件 并且相关的代码都需要写在 {}内
2.快捷键: option + click   swift最常用的快捷键  没有之一  查看对象的描述信息
3.print 和 OC中的NSLog一样 打印

*/

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
//调用函数
demo7()
}

//switch  在swift中变得更加强大方便
//早日毕业 出任高级攻城狮 迎娶白富美  走向人生巅峰
//需要不断学习

/*

1. 可以不写break
2.每个case内至少有一条可以执行的语句
3.定义变量 不需要加 {}  限定作用域
4.可以同时case多个条件
5.判断的条件 不再局限整数类型  可以是任意类型
*/
func demo7() {
let money = "20000"
switch money {
case "18000", "20000" :
let str = "hahahah"
print("高级攻城狮")
print(str)
case "12000":
print("程序猿")
case "8000":
print("码农")
default:
print("打酱油")
}
}

//3. ?? 快速判断是否为空  并且设置为空的默认值
func demo6() {
//声明一个可选类型
var num: Int? = 10
let a = num ?? -1
print(a)
}

//guard let  守卫  作用: 能够防止代码结构层次嵌套太深
func demo5() {
let urlString = "http://www.douniwan.com?type="
guard let url = NSURL(string: urlString) else {
//为空才会进入分支
return
}

//守卫后面的 一定是必选类型的数据
print(url)
}

//分支结构的实际运用
//1. if let
// 赋值 并且判断是否为空  不为空才会进入分支
func demo4() {
//模拟发出一个网络请求
let urlString = "http://www.douniwan.com?type="
//convenience init?  便利构造函数  有可能生产一个url出来   有可能就难产了
//        let url = NSURL(string: urlString)
//
//        //实例化request
//        if url != nil {
//            let request = NSURLRequest(URL: url!)
//            print(request)
//        }
if let url = NSURL(string: urlString) {
let request = NSURLRequest(URL: url)
print(request)
}

}

// 分支结构
func demo3() {
//推荐使用的分支结构
/*
1.条件 的 ()  可以省略
2.{}  一定不能省略   2014 年 一个让苹果很没面子的安全漏洞
*/
let i = 10
if i > 0 {
print("大于0")
} else{
print("小于0")
}
}

//注意: 可选项是所有OC程序员转到Swift最头疼的问题
//建议: 根据Xcode智能提示 添加 ! 或者 ?
// 每次使用 ? 和 ! 都思考一下 熟练了就知道如何使用

//
//可选类型
func demo2() {
//表示num 就是可选类型  可以为 Int数值  也可以为 nil
//可选类型在打印的时候会自动加上 optional 表示可选类型

// ? : 有吗
// ! : 有!!!!
// ! 惊叹号表示强制解包   没有的话就怒了  崩溃  fatal error: unexpectedly found nil while unwrapping an Optional value  swift最常遇到的错误 没有之一
var num: Int?

//直接强制解包有风险 要谨慎
if (num != nil) {
print(num!)
}

if num != nil {
print(num)
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: