//
// ViewController.swift
// test_Swift3.0_type_casting
//
// Created by jeffasd on 17/3/14.
// Copyright © 2017年 jeffasd. All rights reserved.
//
import UIKit
class 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.
}
}
Swift3.0 类型转换 示例
最新推荐文章于 2024-02-19 17:52:33 发布