当前位置: 首页 > news >正文

Swift:在 Win10 上编程入门

访问 https://swift.org/download/
找到 Windows 10:x86_64
下载 swift-5.10-RELEASE-windows10.exe  大约490MB
建议安装在 D:\Swift\ ,安装后大约占2.56GB

官网文档:https://www.swift.org/documentation/

中文教程:The swift programming language 中文版

运行  cmd

swiftc -v
Swift version 5.10 (swift-5.10-RELEASE)
Target: x86_64-unknown-windows-msvc

cd D:\Swift\

mkdir test ; cd  test

用 Notepad++ 编写  hello.swift  如下

let a = 2
let b = 3
print("a+b=", a+b)

SET SDKROOT=D:\Swift\Platforms\5.10.0\Windows.platform\Developer\SDKs\Windows.sdk

可以在环境变量中设置,编译执行  swiftc hello.swift -o hello.exe -sdk %SDKROOT%

运行  hello.exe

编写  fibonacci.swift  如下

import Foundationvar i:Int = 0
if CommandLine.arguments.count > 1 {let str = CommandLine.arguments[1]let number = NumberFormatter().number(from: str)i = number!.intValue
} else {print(" usage: fibonacci.exe n ")exit(0)
}
// 计算 斐波那契数列(Fibonacci sequence)
func fib(n: Int) -> Decimal {if n <= 0 { return 0 }   var x: Decimal = 0, y: Decimal = 1for _ in 1..<n {(x, y) = (y, y + x)}return y
}
// 调用示例
print("fib(\(i))=", fib(n:i))

编写 compile.bat  如下

@echo off
SET SDKROOT=D:\Swift\Platforms\5.10.0\Windows.platform\Developer\SDKs\Windows.sdk
swiftc %1.swift -o %1.exe -sdk %SDKROOT%

编译执行  compile.bat  fibonacci

运行 fibonacci.exe 95

fib(95)= 31940434634990099905

从 https://github.com/ericsink/SwiftWinRT  下载 SwiftWinRT-main.zip

cd D:\Swift\test\SwiftWinRT-main\WinRT
swift build

Microsoft.WindowsAppRuntime.Bootstrap.lib 在 D:\Swift\test\SwiftWinRT-main\Samples\ 中

从 GitHub - thebrowsercompany/swift-winui: Swift language bindings for WinUI3

下载  swift-winui-main.zip  请看 README.md ; 

从 Windows商店下载 WinUI 3 Gallery

将 Swift软件包构建为通用二进制文件:

cd D:\Swift\test\SwiftWinRT-main\Samples\Calc
swift build -c debug  --arch x86_64
或 swift build -c release --arch x86_64

推荐观看:使用WinSDK | WinUI | Swift-WinRT构建Swift Windows新闻应用程序

推荐阅读:Swift 编程入门(非常详细)从零基础入门到精通

http://www.lryc.cn/news/335103.html

相关文章:

  • Linux多进程通信(4)——消息队列从入门到实战!
  • [Flutter]导入singular_flutter_sdk后运行到Android报错
  • ChatGPT新手指南:如何用AI写出专业学术论文
  • 【ZZULIOJ】1047: 对数表(Java)
  • thinkphp6使用阿里云SDK发送短信
  • file_get_contents(‘php://input‘); 这个postman要如何传参
  • HDFS [MSST‘10] 论文阅读笔记
  • Feature Pyramid Networks for object detection
  • Linux下docker运行python
  • MacOS下载和安装HomeBrew的详细教程
  • AI技术在金融领域/银行业的应用和风险
  • 每日OJ题_两个数组dp⑤_力扣10. 正则表达式匹配
  • 开源区块链系统/技术 总结(欢迎补充,最新)
  • LeetCode 994—— 腐烂的橘子
  • 向上向下采样
  • Leetcode面试经典150_Q169多数元素
  • Spring Cloud微服务入门(五)
  • 负荷预测 | Matlab基于TCN-GRU-Attention单输入单输出时间序列多步预测
  • SpringBoot整合Spring Data JPA
  • 机器学习(五) -- 监督学习(2) -- k近邻
  • 【.NET全栈】ZedGraph图表库的介绍和应用
  • vivado 设计调试
  • Python3 replace()函数使用详解:字符串的艺术转换
  • 【C++】用红黑树封装map和set
  • 一些好玩的东西
  • 微电网优化:基于巨型犰狳优化算法(Giant Armadillo Optimization,GAO)的微电网优化(提供MATLAB代码)
  • java锁
  • QA测试开发工程师面试题满分问答6: 如何判断接口功能正常?从QA的角度设计测试用例
  • vue 双向绑定
  • python--异常处理