本文概述
- 1.下载SwiftForWindows编译器
- 2.测试编译器
- 关于日志
Swift语言是一种高性能的系统编程语言, 语法非常简洁现代, 可无缝访问现有的C和Objective-C代码及框架, 默认情况下是内存安全的。尽管受Objective-C和许多其他语言的启发, 但是Swift本身并不是C衍生的语言。作为一种完整且独立的语言, Swift将诸如流控制, 数据结构和功能之类的核心功能与诸如对象, 协议, 闭包和泛型之类的高级构造相结合。 Swift包含模块, 从而消除了对标头和它们所需要的代码重复的需求。开源SwiftForWindows项目为Windows应用程序的Swift编程提供了易于使用的开发环境。该项目与适用于Cygwin, MSVC, MinGW的Swift编译器一起使用。
在本文中, 我们将为你展示在Windows环境中使用Swift语言进行编程的简单方法。
1.下载SwiftForWindows编译器 第一步, 你需要从Github上项目的发行页面下载Swift For Windows的安装程序。安装程序文件大小约为110MB, 由你决定安装位置。默认情况下, 其安装路径为C:/ Swift。现在, 你需要了解项目的工作原理, 在安装Swift For Windows之后, 你基本上将拥有一个可作为编译器使用的可执行文件, 它提供了图形用户界面, 可让你选择所需的swift源文件。编译:
文章图片
你需要在运行文件之前对其进行编译, 因此, 如果你的代码有效, 并且单击” 编译” , 则可以使用” 运行” 按钮运行该文件, 如果有任何内容, 通常会打开一个命令提示符并显示代码的输出当然。有关此项目的更多信息, 请访问Github上的官方资源库。
2.测试编译器 要开始使用编译器, 让我们编写一些代码!在系统上的某个地方创建一个文件hello.swift。该文件内部将包含以下代码:
print("Hello World !")
要定义编译器应编译的文件, 请单击” 选择文件” 。这将打开系统文件浏览器, 并允许你选择一个文件, 选择我们刚刚创建的文件。在此环境上运行Swift代码的步骤如下:
- 点击编译
- 如果编译成功, 请单击” 运行” 。
文章图片
请注意, 在打开带有Swift代码输出的命令提示符时, 编译器工具将被阻止, 因此请确保在尝试再次编译之前关闭cmd窗口。但是, 并非生活中的一切都在你学习的每种新编程语言上打招呼!你可能要开始使用更复杂的代码, 例如fibonacci系列。创建一个新文件fibonacci.swift并粘贴以下代码:
class FibIterator : IteratorProtocol {var (a, b) = (0, 1)func next() ->
Int? {(a, b) = (b, a + b)return a}}let fibs = AnySequence{FibIterator()}print(Array(fibs.prefix(10)))
编译并运行它。如预期的那样, 输出将是:
文章图片
关于日志 在编译期间, 编译器将具有直接显示在应用程序中的日志。该日志包含正在编译的代码的警告, 注释或错误。你不会总是在输出中得到一条成功编译的消息, 因此你将需要注意日志中的另一种消息。请注意, 一旦你运行了已编译的代码(这意味着你的应用程序已成功编译, 只要没有较旧的程序版本), 该日志就会被删除, 因此在尝试编译后立即对其进行检查。像在每个理智的编译器上一样, 你将获得发生异常/警告的行和字符。
失误
编译器将能够处理编译期间的错误, 例如, 使用以下代码应在输出中显示日期:
let date = Date()let calendar = Calendar.currentlet components = calendar.dateComponents([.year, .month, .day], from: date)let year =components.yearlet month = components.monthlet day = components.dayprint(year)print(month)print(day)
【如何在Windows中使用Swift编程语言】将抛出以下错误(错误:使用未解决的标识符” 日历” 和” 日期” ):
文章图片
代码中的错误是由于代码” import Foundation” 开头缺少import语句引起的, 功能片段显示在警告区域。
警告事项
编译器也将显示警告, 如果我们修复了先前的片段, 即导入Foundation名称空间, 则我们的代码将成功编译:
import Foundationlet date = Date()let calendar = Calendar.currentlet components = calendar.dateComponents([.year, .month, .day], from: date)let year =components.yearlet month = components.monthlet day = components.dayprint(year)print(month)print(day)
但是, 我们会收到一些警告和提示:
文章图片
- 警告:表达式从” Int?” 隐式强制转换去任何。此警告是打印功能的触发原因, 需要一组Any参数。字符串是Any。在这种情况下, 编译器会告诉你它将可选字符串隐式强制为Any对象(通过转换Optional(value)中的String值)。
- 注意:强制拆开该值, 以避免出现此警告。如果对象是可选的, 并且你想访问其方法或属性之一, 则需要对其” 展开” 。
文章图片
总之, 你可以了解使用Swift编程语言或至少在Windows中使用其语法的入门非常容易。请注意, 由于没有公开在Windows中如何执行特定操作(例如打开文件浏览器, 程序或相关程序)的官方API, 因此该项目完全是为了在不同环境中严格学习该语言而设计的。
编码愉快!
推荐阅读
- Winforms跨线程操作无效(从不是在其上创建线程的线程访问的控件”控件名”)
- 每个Twig开发人员都应该能够回答的20个问题
- 如何使用WinForms中的OpenCVSharp库和带有C#的网络摄像机拍摄快照
- 如何在C#中使用AES加密算法对文件进行加密和解密
- 如何使用Visual Studio Code的便携式版本
- 缺少来自android appcompat v7-21.0.0的样式
- 如何使用像Android Studio这样的pid杀死进程呢()
- 从Firebase读取数据到Android目前没有代码
- 在Realm过滤父母和子女 - Android