如何在Swift中导入没有Xcode项目的模块 [英] How to Import modules without an Xcode project in Swift

查看:164
本文介绍了如何在Swift中导入没有Xcode项目的模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用命令行创建swift文件,并使用swift命令为了运行其中之一。但是,我想要一个文件能够从另一个文件访问函数。如果这是C,那么我可以使用#include宏并指定文件的位置。但Swift的import语句似乎不允许这样。应该有办法,我想知道如何做。

I am using the command line to create swift files and using the "swift" command in order to run one of them. However I would like one file to be able to access functions from another file. If this were C then I could use the #include macro and specify where the file is. But Swift's import statement doesn't seem to allow that. There should be a way and I would like to know how to do it.

例如:

我有一个文件与一个功能,然后我做另一个文件,使用该功能。如何允许它使用它?

If I have a file with a function in it and then I make another file that uses that function. How do I allow it to use it?

// file1.swift
import Foundation

func sayHello() -> String {
    return "hello"
}

// file2.swift
import file1  // <-- trying to import file1 but it doesn't work

println(sayHello())

然后在终端中写swift file2.swift。但它告诉我..

Once the files have been made I then write "swift file2.swift" in terminal. But it tells me..

error: no such module 'file1.swift'

很明显swift编译器正在寻找一个模块。如何使file1成为一个模块?我看到一些解决方案,但他们都发生在Xcode。

clearly the swift compiler is looking for a module. How do I make file1 into a module? I've seen some solutions but they all take place in Xcode. What I'm looking for is to do it all in the command line.

推荐答案

// file1.swift
func sayHello() -> String {
    return "hello"
}

// main.swift
println(sayHello())

,然后从终端:

$ swiftc file1.swift main.swift 
$ ./main 
hello

这篇关于如何在Swift中导入没有Xcode项目的模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆