告別Java啰嗦代碼!Kotlin兩大魔法讓編程爽到飛起
還在為Java里沒完沒了的拼接字符串發(fā)愁?被參數(shù)爆炸的函數(shù)逼瘋?今天帶你解鎖Kotlin兩個超實用特性,保準(zhǔn)讓你寫代碼時嘴角瘋狂上揚!
$符魔法:字符串拼接秒變絲滑
$符魔法:字符串內(nèi)嵌表達(dá)式(字符串模板)
真實暴擊場景
當(dāng)你需要把變量塞進(jìn)字符串時,Java簡直像在玩積木:
// Java版:手抖就會拼錯!
String user = "Kris";
int coffeeCups = 3;
System.out.println(
"用戶:" + user + " 今天喝了" + coffeeCups + "杯咖啡" // 眼睛已看花
);Kotlin神仙操作
直接往字符串里“插”變量!就像給模板填空:
fun main() {
val user = "沐雨花飛蝶"
val coffeeCups = 3
println("用戶:$user 今天喝了${coffeeCups}杯咖啡") // 輸出:用戶:沐雨花飛蝶 今天喝了3杯咖啡
// ↑ $變量名 直接插入,${}還能放表達(dá)式 → 試試${user.uppercase()}
}告別加號地獄,代碼清爽得像剛喝過冰美式
參數(shù)默認(rèn)值:函數(shù)調(diào)用的偷懶神器
血壓飆升時刻
Java里每次調(diào)用都得填滿所有參數(shù),哪怕大部分值都一樣!
// Java版:重復(fù)寫到懷疑人生
orderCoffee("拿鐵", "大杯", "正常糖", "加濃縮");
orderCoffee("卡布", "大杯", "正常糖", "加濃縮"); // 參數(shù)重復(fù)90%...Kotlin超爽方案
設(shè)置參數(shù)默認(rèn)值!重要的事說三遍 → 能省則?。∧苁t?。∧苁t??!
// 設(shè)置默認(rèn)值:不傳參數(shù)就用默認(rèn)配置
fun orderCoffee(
name: String,
size: String = "大杯", // 默認(rèn)大杯
sugar: String = "正常糖", // 默認(rèn)正常糖
extra: String = "不加料" // 默認(rèn)不加料
) {
println("【$size】$name 糖度:$sugar 加料:$extra")
}
fun main() {
orderCoffee("拿鐵") // 輸出:【大杯】拿鐵 糖度:正常糖 加料:不加料
orderCoffee("摩卡", extra = "加燕麥奶") // 輸出:【大杯】摩卡 糖度:正常糖 加料:加燕麥奶
orderCoffee("濃縮", size = "小杯", sugar = "無糖") // 輸出:【小杯】濃縮 糖度:無糖 加料:不加料
}像點奶茶一樣調(diào)函數(shù):只說特殊要求,其他都默認(rèn)!
實戰(zhàn):5行代碼實現(xiàn)咖啡點單
把兩大特性結(jié)合使用,直接吊打Java版
class CoffeeOrder(
val name: String,
val size: String = "大杯", // 默認(rèn)參數(shù)值
val sugar: String = "少糖",
val ice: String = "正常冰"
) {
fun printOrder() {
println("【$size】$name | 糖:$sugar 冰:$ice") // $符魔法打印
}
}
fun main() {
CoffeeOrder("生椰拿鐵").printOrder() // 輸出:【大杯】生椰拿鐵 | 糖:少糖 冰:正常冰
CoffeeOrder("抹茶星冰樂", ice = "去冰").printOrder() // 輸出:【大杯】抹茶星冰樂 | 糖:少糖 冰:去冰
}參數(shù)自由組合 + 智能默認(rèn)值 + 優(yōu)雅打印 = 代碼界的絲滑拿鐵
彩蛋:遇到坑怎么辦?
Q:默認(rèn)參數(shù)在前怎么辦?→ 用具名參數(shù)精準(zhǔn)打擊!
fun createUser(
id: Int = 0, // 默認(rèn)在前
name: String // 非默認(rèn)在后
) {
}
// 調(diào)用時指定參數(shù)名跳過默認(rèn)參數(shù)
createUser(name = "小王") // id用默認(rèn)值0,只傳name今日份快樂編程秘訣:
? ?? 能用$name就別用"+" + name + "+"
? ?? 能設(shè)默認(rèn)值就別寫重載函數(shù)
學(xué)會這兩招,你的Kotlin代碼將比同事的Java短一半!(悄悄保存,卷死他們)
























