热门标签 | 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快速入门

 


推荐阅读
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文探讨了在iOS平台上开发BLE(蓝牙低功耗)应用程序时遇到的挑战,特别是如何实现应用在后台模式下仍能持续扫描并连接蓝牙设备。文章提供了具体的配置方法和常见的问题解决方案。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 本文探讨了Java中char数据类型的特点,包括其表示范围以及如何处理超出16位字符限制的情况。通过引入代码点和代码单元的概念,详细解释了Java处理增补字符的方法。 ... [详细]
  • 本文介绍了如何使用Objective-C语言遍历指定文件夹,并根据文件扩展名来判断文件类型的方法。代码示例中通过创建一个文件管理器实例,利用目录枚举器遍历文件夹中的所有项,筛选出特定类型的文件。 ... [详细]
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • 本文详细介绍了如何在iOS5中创建和理解简单的Hello World应用,包括Interface Builder的使用、Objective-C源代码文件的结构以及事件处理机制。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 从 Windows 转向 Mac 的开发者指南:必备技巧与工具
    本文旨在帮助从 Windows 转向 Mac 的开发者们,提供一系列实用的技巧和工具,确保过渡过程顺畅。 ... [详细]
  • 本文介绍了iOS应用开发的主要框架,包括Foundation、UIKit、CoreData及CoreGraphics等,并探讨了开发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社区 版权所有