4. 字符串模板
任务说明
本案例要求使用 Kotlin 字符串模板,将变量与表达式直接嵌入字符串字面量中,生成动态字符串。你需要掌握 $变量 与 ${表达式} 两种模板语法,并理解转义与嵌套引用的处理方式。
核心实现
fun main() {
// 基础变量嵌入
val userName = "Kotlin"
val version = 2.1
println("语言: $userName, 版本: $version")
// 表达式模板(需用花括号包裹)
val price = 25.0
val quantity = 3
println("总价: ${price * quantity} 元")
// 带方法调用的模板
val message = "Hello World"
println("大写: ${message.uppercase()}")
// 复杂表达式:条件判断
val score = 85
println("成绩等级: ${if (score >= 60) "及格" else "不及格"}")
// 转义与嵌套引号
println("显示美元符号: \$price 原值 $price")
println("嵌套引号: ${"外层".length} 个字符")
}
关键语法说明
- 简单变量:
$变量名直接替换变量值,变量名只能包含字母、数字和下划线。 - 任意表达式:
${...}可嵌入方法调用、算术运算、条件判断等,花括号内可包含引号字符串。 - 美元符号转义:使用
\$输出字面量美元符号,避免被解析为模板起始符。
运行与验证
- 将上述代码保存为
StringTemplate.kt。 - 在命令行执行
kotlinc StringTemplate.kt -include-runtime -d app.jar编译,再运行java -jar app.jar;或直接在 IDE 中运行main()。 - 观察控制台输出,应依次显示:
语言: Kotlin, 版本: 2.1
总价: 75.0 元
大写: HELLO WORLD
成绩等级: 及格
显示美元符号: $price 原值 25.0
嵌套引号: 4 个字符
判定标准:输出与上述预期完全一致,且每行均通过字符串模板生成(非字符串拼接),即视为通过。