使用包管理器(package manager)创建一个可执行的项目

1. 创建一个Hello目录,然后进入目录

$ mkdir Hello
$ cd Hello

2. 使用包初始化命令,参数表示创建一个可执行的包

$ swift package init --type executable

3. 编译包

$ swift build

4.编译后的文件在.build目录下,直接运行编译好的文件Hello

$ .build/debug/Hello
Hello, world!

上面建立了一个示例项目,只有一个源文件,下面在Hello/Source目录建立另一个文件Greeter.swift,文件内容如下:

func sayHello(name: String) {
print("Hello, \(name)!")
}

把main.swift内容改成如下:

if CommandLine.arguments.count !=  {
print("Usage: hello NAME")
} else {
let name = CommandLine.arguments[]
sayHello(name: name)
}

表示从命令行读取参数

由于main.swift和Greeter.swift在同一个模块Hello下(即同时位于Hello目录下),所以main.swift使用Greeter.swift中的方法时,不需要使用import导入

在Hello目录下敲击构建命令,并运行:

$ swift build
$ .build/debug/Hello `whoami`

此外可以参考https://swift.org/package-manager/#example-usage

使用这个例子,并仔细学习例子中的内容,包管理器的使用就可以熟练掌握了

这个例子一定要动手实践!

ubuntu上swift开发学习2的更多相关文章

  1. ubuntu上swift开发学习1

    学习目的:通过构建一个web应用的实践过程来学习swift.会使用到Perfect框架建立一个web应用(Perfect是swift的一个web框架). 这一篇介绍环境搭建 学习资源: 环境搭建:ht ...

  2. 从零开始在ubuntu上配置深度学习开发环境

    从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...

  3. Swift开发学习(两):Playground

    Swift开发学习:Playground 大约 对于软件用户.游戏玩家,我一直提倡用户体验.也是用户,是各种开发工具的使用者.也会喜欢用户体验做得好的工具软件.这次苹果想开发人员所想,提供了一个能够玩 ...

  4. Swift开发学习(二):Playground

    http://blog.csdn.net/powerlly/article/details/29674253 Swift开发学习:Playground 关于 对于软件用户.游戏玩家,大家一直都在提倡用 ...

  5. Swift开发学习(一):初始篇

    http://blog.csdn.net/powerlly/article/details/29351103 Swift开发学习:初始篇 关于 苹果公司于WWDC2014(Apple Worldwid ...

  6. ubuntu上Android开发环境及依赖项

    [时间:2018-07] [状态:Open] [关键词:ubuntu,系统安装,开发环境搭建,android,工具集] Ubuntu系统版本:v18.04 LTS c/c++ dev (build-e ...

  7. swift开发学习笔记-闭包

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiangqq781931404/article/details/32913421 文章转自:http ...

  8. 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)

    转载:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 当需要频繁使用ubuntu时,vmware虚拟机下运行ubuntu, ...

  9. Swift开发学习-02 变量和常量

    本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用,并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作, ...

随机推荐

  1. win10中以管理员身份启动notepad、cmd、editplus

    win10中以管理员身份启动notepad.cmd 在开始菜单中输入,出现了之后再进行右键点击,选择管理员身份运行: 而且editplus也可以“管理员身份运行”,再也不用担心我改不了hosts了: ...

  2. F - 概率(经典问题)

    Description Sometimes some mathematical results are hard to believe. One of the common problems is t ...

  3. hql小经验

    hql如果查了子对象的属性,那么hql不允许子对象为空!

  4. 网络编程-UDP-TCP

    网络编程-UDP-TCP) UDP 特点:(面向无连接)(聊天) 1.将数据及源和目的封装成数据包中,不须要建立连接.(封包.无连接) 2.每一个数据包的限制大小在64k内.(小数据) 3.因无连接. ...

  5. javascript onclick中post提交

    对post提交进行封装: function post(URL, PARAMS) { var temp = document.createElement("form"); temp. ...

  6. eclipse集成tomcat改动字符集參数

    问题: 在eclipse 4.4(Luna)中集成tomcat时,直接改动原tomcat文件夹中的配置文件,不起作用. 有时.我们会修改字符集參数为utf-8,以解决中文乱码问题,修改之后依旧乱码-- ...

  7. java log4j 日志文件

    开发中经常会用到log日志文件,根据业务需要可能不产生很大日志文件给维护和[排错带来了麻烦.所以我们希望能够每天或每个月产生一个日志文件,这样文件不至于过大. 或者根据日志文件大小来判断,超过规定大小 ...

  8. 【BZOJ2132】圈地计划 最小割

    [BZOJ2132]圈地计划 Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地. ...

  9. Linuxt图形界面安装

    通常安装图形界面需要安装Xorg.桌面环境(Gnome.KDE.xfce等).字体等.你的Linux是什么版本?具体要看你的linux来决定用什么命令来安装. #yum grouplist 自己看看列 ...

  10. A good example is a User-Agent switcher which changes User-Agent on every request:

    Configuration | Colly http://go-colly.org/docs/introduction/configuration/