Если вы подтвердите от String
до ExpressibleByIntegerLiteral
, вы можете просто написать это:
let myVar: String = 1
print(myVar)
Просто обратите внимание, что вам нужно явно указать тип для myVar
, так как компилятор не знает, какой тип должен выберите из.
Как мы соответствуем String
ExpressibleByIntegerLiteral
? Примерно так:
extension String : ExpressibleByIntegerLiteral {
public init(integerLiteral value: Int) {
self = String(value)
}
}
для обратного вы можете посмотреть на ExpressibleByStringLiteral