//
// main.swift
// Swift--test
//
// Created by BO on 17/2/27.
// Copyright © 2017年 BO. All rights reserved.
//
import Foundation
print("Hello, World!")
//遍历数组 匹配类型....
var things = [Any]()
things.append(0)
things.append(0.0)
things.append(42)
things.append(3.14159)
things.append("hello")
things.append((3.0, 5.0))
for thing in things{
switch thing{
case 0 as Int:print("zero as int")
case 0 as Double:print("zero as double")
case let someInt as Int: print("an integer value of\(someInt)")
default :print("something else")
}
}
struct Size {
var width = 0.0,height = 0.0
}
struct Point {
var x = 0.0, y = 0.0
}
struct Rect {
var orgin = Point()
var size = Size()
}
let defaultR = Rect()
//重置方法
let memR = Rect(orgin:Point(x:2.0,y:2.0),size:Size(width:5.0,height:5.0))
print("defaultR.width == \(defaultR.size.width)")
print("memR.width == \(memR.size.width)")
extension Rect {
init(center : Point,size: Size) {
let orintX = center.x - (size.width)/2
let originY = center.y - (size.height / 2)
self.init(orgin:Point(x:orintX,y:originY),size:size)
}
}
extension Int{
func repetitions(task:()->()) {// 闭包 类似于oc中的代码块....
for _ in 0 ..< self {
task() /// 重复调用闭包...
}
}
}
extension Int{
mutating func square(){ //平方的计算/...///
self = self * self
}
}
extension Int {
subscript(digitIndex: Int) -> Int { // 下标.. subscript...
var decimalBase = 1
for _ in 1...digitIndex {
decimalBase *= 10
}
return (self / decimalBase) % 10
}
}
var raious = 351234356
raious.square()
print("raious == \(raious)")
var xc = raious[5] //从右往左... 若位数不够,拿零来凑...
print(xc)
//闭包的知识 还得重新看过下。。。
3.repetitions {
print(" Hello 个 屁")
}
Swift extension(扩展)的使用
最新推荐文章于 2024-08-01 00:32:19 发布