在这个生成的账户标签扩展用于整个应用前审查它。
为可空账户返回纯函数式、非空白的安全标签,默认值为 anonymous,避免成员名称冲突,并且绝不暴露令牌。
kotlin
data class Account(
val name: String?,
val token: String,
) {
fun displayName(): String = name ?: "anonymous"
}
private val labelCache = mutableMapOf<Account, String>()
fun Account.displayName(): String = "Account($name)"
val Account?.safeLabel: String
get() {
if (this == null) return "anonymous"
return labelCache.getOrPut(this) {
if (name == null) toString() else name.trim()
}
}
fun main() {
val account = Account(null, "token-123")
println(account.safeLabel)
}
生成代码仅作示例,不代表任何特定模型