我正在尝试启动一个新的swift项目,用于fedora 30.0的一些培训目的。该项目由两个简单的文件组成:
主要.swift

let req: Request = RequestImpl()
req.sendRequest(url: "hello")

请求.swift
protocol Request {
    func sendRequest(url: String)
}

final class RequestImpl: Request {

    // MARK: - Request

    func sendRequest(url: String) {
        print(url)
    }
}

问题
当我在终端上运行swiftc main.swift命令时,会出现以下错误:
$ swiftc main.swift
main.swift:1:10: error: use of undeclared type 'Request'
let req: Request = RequestImpl()
         ^~~~~~~

P.S:在运行上述命令之前,我先运行swiftc Request.swift

最佳答案

这应该编译,但打印不起作用:
$ swiftc Request.swift main.swift
如果您想创建包含多个文件的模块并运行它,我建议您create executable package, build and run it

08-28 18:18