ubuntu上swift开发学习2
使用包管理器(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的更多相关文章
- ubuntu上swift开发学习1
学习目的:通过构建一个web应用的实践过程来学习swift.会使用到Perfect框架建立一个web应用(Perfect是swift的一个web框架). 这一篇介绍环境搭建 学习资源: 环境搭建:ht ...
- 从零开始在ubuntu上配置深度学习开发环境
从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...
- Swift开发学习(两):Playground
Swift开发学习:Playground 大约 对于软件用户.游戏玩家,我一直提倡用户体验.也是用户,是各种开发工具的使用者.也会喜欢用户体验做得好的工具软件.这次苹果想开发人员所想,提供了一个能够玩 ...
- Swift开发学习(二):Playground
http://blog.csdn.net/powerlly/article/details/29674253 Swift开发学习:Playground 关于 对于软件用户.游戏玩家,大家一直都在提倡用 ...
- Swift开发学习(一):初始篇
http://blog.csdn.net/powerlly/article/details/29351103 Swift开发学习:初始篇 关于 苹果公司于WWDC2014(Apple Worldwid ...
- ubuntu上Android开发环境及依赖项
[时间:2018-07] [状态:Open] [关键词:ubuntu,系统安装,开发环境搭建,android,工具集] Ubuntu系统版本:v18.04 LTS c/c++ dev (build-e ...
- swift开发学习笔记-闭包
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/jiangqq781931404/article/details/32913421 文章转自:http ...
- 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)
转载:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 当需要频繁使用ubuntu时,vmware虚拟机下运行ubuntu, ...
- Swift开发学习-02 变量和常量
本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用,并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作, ...
随机推荐
- 2017.2.13 开涛shiro教程-第十二章-与Spring集成(二)shiro权限注解
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十二章-与Spring集成(二)shiro权限注解 shiro注 ...
- JVM —— 移除永久代
近期准备生产环境 JDK 升级到 1.8,本地先升级了下,发现 -XX:PermSize 和 -XX:MaxPermSize 已经失效,取而代之的是一个新的区域 -- Metaspace(元数据区). ...
- breakpoints && lldb  && chisel 的使用
Breakpoints BreakPoint分类 breakpoint也是有分类的.我这里的文章内大致按使用的方式分为了 Normal Breakpoint,Exception Breakpoint, ...
- 给java类加static修饰编译器会说什么?
Illegal modifier for the class XXX;only public abstract & final are permitted.
- es6 - 箭头
class User { constructor(name, age) { this.name = name; this.age = age; } changeName(name) { this.na ...
- LeetCode Subsets I& II——递归
I Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must ...
- UNP学习笔记(第八章 基本UDP套接字编程)
UDP应用程序客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须指定目的地的地址作为参数. 下图给出典型的UDP客户/服务器程序的函数调用. recvfrom和sendt ...
- layui-字体图标
layui官网下载:GitHub:https://github.com/sentsin/layui/ layui官网首页-下载:http://www.layui.com/ layui-字体图标-官方网 ...
- Hdu3787
<span style="color:#330099;">/* H - A+B Time Limit:1000MS Memory Limit:32768KB 64bit ...
- Smart Battery Specification Revision 1.1
1.SBS Specifications 2.System Management Bus (SMBus) Specification