Swift3.0 类型转换 示例

来源:互联网 发布:淘宝开店怎么认证 编辑:程序博客网 时间:2024/06/05 14:36
////  ViewController.swift//  test_Swift3.0_type_casting////  Created by jeffasd on 17/3/14.//  Copyright © 2017年 jeffasd. All rights reserved.//import UIKitclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()        // Do any additional setup after loading the view, typically from a nib.    }    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {        var obj: Any;        obj = "hello world";                if obj is String {            print("obj is String")        }                var things = [Any]();        things.append(0);        things.append(0.0)        things.append(42)        things.append(3.14)        things.append("hello world")        things.append( (3.0, 4.0) )        things.append({            (name: String) -> String in            "hello, \(name)"        })                for thing in things {            print("the thing is \(thing)")            switch thing {            case 0 as Int:                print("zero as an Int")            case 0 as Double:                print("zero as a Double")            case let someInt as Int:                print("an integer value of \(someInt)")            case let someDouble as Double where someDouble > 0:                print("a positive double value of \(someDouble)")            case is Double:                print("some other double value that I don't want to print")            case let someString as String:                print("a string value of \"\(someString)\"")            case let (x, y) as (Double, Double):                print("an (x, y) point at \(x), \(y)")            case let stringConverter as (String) -> String:                print(stringConverter("Michael"))            default:                print("something else")            }        }    }        override func didReceiveMemoryWarning() {        super.didReceiveMemoryWarning()        // Dispose of any resources that can be recreated.    }}

0 0