相关疑难解决方法(0)

静态类型语言和动态类型语言有什么区别?

我听到很多新的编程语言都是动态输入的,但是当我们说一种语言是动态类型而非静态类型时,它实际意味着什么呢?

computer-science programming-languages static-typing dynamic-typing

894
推荐指数
11
解决办法
40万
查看次数

在泛型中使用类型变量

我有这个问题,除了Swift.如何Type在泛型中使用变量?

我试过这个:

func intType() -> Int.Type {
    return Int.self
}

func test() {
    var t = self.intType()
    var arr = Array<t>() // Error: "'t' is not a type". Uh... yeah, it is.
}
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

var arr = Array<t.Type>() // Error: "'t' is not a type"
var arr = Array<t.self>() // Swift doesn't seem to even understand this syntax at all.
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?我觉得Swift不支持它并且给我一些含糊不清的错误信息.

编辑:这是一个更复杂的例子,使用通用函数头无法规避问题.当然它没有意义,但我在我的代码中的某个地方明智地使用了这种功能,而宁愿发布一个干净的例子而不是我的实际代码:

func someTypes() -> [Any.Type] {
    var ret = [Any.Type]()
    for (var i = …
Run Code Online (Sandbox Code Playgroud)

generics swift

20
推荐指数
3
解决办法
2万
查看次数