我在 Kotlin 中使用 StringBuilder 在循环内创建日志消息时遇到问题。
for (person in Persons) {
val logMessage = StringBuilder()
.append("ID: ${person.Id}, ")
.append("Name: ${person.name}, ")
.append("Age: ${person.age}, ")
.toString()
HyperLog.d(
TAG,
logMessage
)}
问题: 我收到 Ktlint 错误: 多行表达式应从新行开始(标准:多行表达式换行)
我尝试调整换行符,但错误仍然存在。谁能建议如何修复此错误并正确格式化方法链?
预期结果: 我想遵循 Kotlin 的最佳实践并避免此 Ktlint 错误,同时保持 StringBuilder 链的可读性。
StringBuilder
链是多行表达式。 KtLint 规则要求您从新行开始。
在您的代码中,它作为变量赋值开始,与变量声明位于同一行:
val logMessage = StringBuilder()
.append("ID: ${person.Id}, ")
.append("Name: ${person.name}, ")
.append("Age: ${person.age}, ")
.toString()
为了遵守 KtLint 规则,您需要将表达式放在新行上:
val logMessage =
StringBuilder()
.append("ID: ${person.Id}, ")
.append("Name: ${person.name}, ")
.append("Age: ${person.age}, ")
.toString()
就是这样,KtLint 警告现在应该消失了。