作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想实现这样的目标
var a, b, c: MyType = MyType()
但是这一行不编译,因为编译器将类型注释 MyType
仅用于变量 c
因此 a
和 b
缺少类型注释或类型推断的初始值。
以下两项都是合法的:
// legal but verbose
var a = MyType()
var b = MyType()
var c = MyType()
// legal but verbose to initialize
var a, b, c: MyType
a = MyType()
b = MyType()
c = MyType()
我能想到的这两种风格都是合法的,但有些冗长,尤其是当有几十个相同类型的变量时。
有什么优雅的方法可以做到这一点吗?
最佳答案
Swift 中的两个选项:逗号或元组。
用逗号分隔的语句:
var a = MyType(), b = MyType(), c = MyType()
使用元组语句:
var (a, b, c) = (MyType(), MyType(), MyType())
此外,但不鼓励,您可以使用分号在一行中创建多个语句:
var a = MyType(); var b = MyType(); var c = MyType()
关于swift - 如何在一行中初始化某种类型的多个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41196589/
我是一名优秀的程序员,十分优秀!