1. 首页

苹果开源 ArgumentParser:为 Swift 加个工具?

作为苹果四年磨一剑的产物,Swift 绝不仅仅为了替换 Object-C,Swift 寄托了苹果宏大的愿景。而最近,苹果开源 ArgumentParser,为 Swift 再加一把趁手的“兵器”。

苹果开源 ArgumentParser

近日,苹果 Swift 标准库团队的 Nate Cook 在 Swift 官网上宣布 ArgumentParser 库正式开源。它由 Swift 实现,用于解析命令行参数(command-line arguments),具有直观、易用、简洁、安全的特点,是一个很出色的解析器。Nate Cook 表示,用 ArgumentParser 解析 Swift 中的命令行参数时会轻松很多。

在 GitHub 上,ArgumentParser 的 star 数已经近一千。苹果还推荐了两个 ArgumentParser 在 Swift 项目工具中采用的示例:

  • indexstore-db:一个包含两个命令的简单实用程序。
  • swift-format:使用了一些高级功能,例如自定义选项值和隐藏标志。

使用

文章中通过四个简单的操作来介绍 ArgumentParser 如何使用:

  1. 如何生成一个介于 1 和 highValue 之间的随机数;
  2. 如何进行自定义验证,以及出现错误时会在屏幕上出现提示信息;
  3. 如何实现在 ArgumentParser 中使用子命令;
  4. 以及如何填加第二个子命令。

这四个操作的代码共计不到 50 行,它会自动检测用户给出的子命令,解析该子命令的参数,然后调用其对应方法。如果用户没有给出子命令,会按默认的命令调用其对应方法。除此之外,ArgumentParser 还支持很多其他功能。了解更多信息: https://github.com/apple/swift-argument-parser

Nate Cook 还提到,在短期内会将一些常用的附加功能添加进去,以确保 SwiftPM 在采用 ArgumentParser 时不会出现功能不全的情况。在 SwiftPM 完全采用 ArgumentParser 后,Swift 标准库团队将会在 Swift 编译器驱动程序中采用该库。

在 ArgumentParser 库之前,SwiftPM 中有一个 TSCUtility 库,该库中就包含一个参数解析器,不过苹果并没有让 TSCUtility 库“发扬光大”的打算。所以,苹果开源了 ArgumentParser,并打算在未来的发展与迭代中让其可以在整个 Swift 项目中被采用。

雄心勃勃的 Swift

Js中文网 – 前端进阶资源教程 www.javascriptC.com,typescript 中文手册
专注分享前端知识,你想要的,在这里都能找到

苹果官方曾说过:“Swift 的目标是,既可以写应用程序,也能写操作系统。”

众所周知,Swift 是苹果在 2014 年全球开发者大会(WWDC)上发布的编程语言,并于 2015 年正式开源。虽然发布时间不算长,但 Swift 的普及程度却超出了很多人的预期,在最新的 2 月份 TIOBE 编程语言排行榜中,Swift 排名第十,而前面都是发布至今十余年甚至是几十年的“老大哥”,Swift 集成了现代语言的很多特点:高级结构、闭包、泛型等等,也正因如此,Swift 成为了编程语言中的一匹黑马。

在刚刚过去的 2019 年,Swift 经历了两件大事:SwiftUI 的发布和 Swift for TensorFlow 的发布。

SwiftUI 是苹果公司的最新框架,通过 SwiftUI,开发者仅使用一组工具和 API 就能为所有苹果设备构建用户界面。它的口号是,“更好的应用程序,更少的代码”。

Swift for TensorFlow 是一个将谷歌 TensorFlow 框架和 Swift 集成在一起的深度学习和可微分编程平台,这也是 Swift 的一个全新用途。

除此之外,2019 年 3 月发布的 Swift 5 也终于迎来了 ABI 稳定,使得 Swift 获得了更多开发者的青睐。

未来,Swift 有了更多的发展方向,不仅可以用于 App 开发,在服务器、网页、AI、IoT 和脚本等方向均有余力。所以,你觉得 Swift 未来将如何发展?你愿意去学习吗?

官网宣布 ArgumentParser 库正式开源: https://swift.org/blog/argument-parser/

作者:
链接:https://www.infoq.cn/article/7kQ883AJ0jPeTTXJH5DX

看完两件小事

如果你觉得这篇文章对你挺有启发,我想请你帮我两个小忙:

  1. 关注我们的 GitHub 博客,让我们成为长期关系
  2. 把这篇文章分享给你的朋友 / 交流群,让更多的人看到,一起进步,一起成长!
  3. 关注公众号 「画漫画的程序员」,公众号后台回复「资源」 免费领取我精心整理的前端进阶资源教程

JS中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。欢迎热爱技术的你一起加入交流与学习,JS中文网的使命是帮助开发者用代码改变世界

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Js中文网 · 前端进阶资源教程 」https://www.javascriptc.com

标题:苹果开源 ArgumentParser:为 Swift 加个工具?

链接:https://www.javascriptc.com/3906.html

« 前端性能优化 24 条建议(2020)
源码解析 React Hook 构建过程»
Flutter 中文教程资源

相关推荐

QR code