热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Swift快速入门

Swift是一门全新的iOSAPP开发语言,也是目前苹果所推荐的。在Xcode13里新建项目时,Swift是默认的语言。在最新一期的世界编程语言排行榜上,Swift已经排到了第14

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项目。

Swift快速入门

然后在这个项目中的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(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看到运行结果。 

Swift快速入门

 


推荐阅读
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
  • 本文介绍如何在 Xcode 中使用快捷键和菜单命令对多行代码进行缩进,包括右缩进和左缩进的具体操作方法。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文探讨了使用React Native框架开发的应用,在通过AppCenter构建iOS版本时遇到的‘CopyPlistFile’命令失败的问题,并提供了详细的解决方案。 ... [详细]
  • 如何使用Ionic3框架创建首个混合开发应用
    混合开发是指结合原生(Native)与网页(Web)技术进行移动应用开发的方法。本文将详细介绍如何利用Ionic3这一流行的混合开发框架,从环境搭建到创建并运行首个应用的全过程。 ... [详细]
  • 本文详细介绍如何在 macOS 上编译 FFmpeg 3.1.1,并将其集成到 iOS 项目中,包括必要的环境配置和代码示例。 ... [详细]
author-avatar
北达学院树洞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有