Loading

Swift快速入门

Swift是一门全新的iOS APP开发语言,也是目前苹果所推荐的。在Xcode13里新建项目时,Swift是默认的语言。在最新一期的世界编程语言排行榜上,Swift已经排到了第14位,Objective-C前20都看不到了。很明显,对于iOS开发者来说,拥抱Swift是一个必然的选择(与之对比Android开发的Kotlin似乎并没有达到这样的地位)。此外,Swift for Tensorflow可以使用Swift语言开发深度学习应用,说明Swift在语言特性方面确实有自己的特点。

下面的Swift代码片段来自于某教学视频,可以帮助我们快速入门swift。我们选择创建macOS-Command Line Tool项目。

然后在这个项目中的main.swift文件里面,输入如下代码即可。

import Foundation

print("Hello, World!")

func bigger(a:Int,  b:Int) -> Int{
    if a>b{
        return a
    }else{
        return b
    }
}

func bigger2(a:String,b:String) -> String{
    if a>b{
        return a
    }else{
        return b
    }
}

//泛型
func bigger3<T:Comparable>(a:T,b:T) -> T{
    if a>b{
        return a
    }else{
        return b
    }
}

var i = bigger(a: 3, b: 4)
print(i)

var j = bigger2(a: "abc", b: "bbc")
print(j)

var k = bigger3(a: "china", b: "korea")
print(k)

var avengers = ["Iron man","Thor","Block widow"]
print(avengers[1])
avengers.append("Eagle eye")
print(avengers[3])
avengers.remove(at: 2)
avengers.insert("first", at: 0)
print(avengers[0])

print("---------")
for av in avengers{
    print(av)
}

print("----------")
let avs2 = avengers.sorted()
for av in avs2{
    print(av)
}

print("-----------")
let avs3 = avengers.map{
    return "复仇者:"+$0
}
for av in avs3{
    print(av)
}


struct  Human{
    var name = ""
    var age = 0
    var height = 0
    
    func shuoming(){
        print("\(name)的年龄是\(age)岁,身高是\(height)厘米。")
    }
}

var tonyStark = Human(name:"Iron Man",age:32,height:189)
tonyStark.shuoming()
print(tonyStark.name)

//协议 类似于接口
protocol flyable {
    func takeoff(speed:Int)
}

protocol armed {
    func attack(auto:Bool)
}

extension Human:flyable,armed{
    func attack(auto: Bool) {
        if auto{
            print("激光单点射击")
        }else{
            print("AI自动射击")
        }
    }
    
    func takeoff(speed: Int) {
        print("\(name)将以时速\(speed)公里起飞。 ")
    }
}

tonyStark.takeoff(speed: 300)
tonyStark.attack(auto: true)

点击运行按钮,可以在Debug Area看到运行结果。 

 

posted @ 2021-11-21 22:57  guwei4037  阅读(407)  评论(0编辑  收藏  举报