gpt4 book ai didi

swift - 从零运行时开销的字符串文字初始化 CChar 或 UInt8 (Swift)

转载 作者:可可西里 更新时间:2023-11-01 01:06:45 26 4
gpt4 key购买 nike

如何在 Swift 中使用字符串文字初始化 CCharUInt8

extension UInt8 : ExtendedGraphemeClusterLiteralConvertible {
public static func convertFromExtendedGraphemeClusterLiteral(value: String) -> UInt8 {
let num = value.unicodeScalars[value.unicodeScalars.startIndex]
return UInt8(num.value)
}
}

let a: UInt8 = "A"

println(a)

这是我的尝试,但我猜它是在运行时执行的。如何在零运行时开销的情况下做到这一点?

最佳答案

你根本做不到。这就是 swift 用于任何其他可使用文字初始化的数据类型的方法。例如,String 类型实现了:

extension String : ExtendedGraphemeClusterLiteralConvertible {
static func convertFromExtendedGraphemeClusterLiteral(value: String) -> String
}

这使得 String 变量可以用字符串文字来初始化

所以,您的做法是正确的。

关于swift - 从零运行时开销的字符串文字初始化 CChar 或 UInt8 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25807113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com