let และ run
ดำเนินการกับออบเจ็กต์
let และ run เป็นบทเรียน Kotlin Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน
ฟังก์ชันกำหนดขอบเขตคืออะไร
Kotlin มีฟังก์ชันกำหนดขอบเขตห้าฟังก์ชัน ได้แก่ let, run, with, apply และ also ฟังก์ชันเหล่านี้ช่วยให้คุณเรียกใช้บล็อกโค้ดกับออบเจ็กต์ภายในขอบเขตชั่วคราวได้
- คุณอ้างถึงออบเจ็กต์ได้ด้วย
itหรือthis - บล็อกจะส่งคืนออบเจ็กต์นั้นเองหรือผลลัพธ์ของแลมบ์ดา
ในบทเรียนนี้เราจะเน้นที่ let และ run
ฟังก์ชัน let
let จะเรียกใช้บล็อกที่มีอ็อบเจ็กต์พร้อมใช้งานในชื่อ it และคืนค่า ผลลัพธ์ของแลมบ์ดา
ฟังก์ชันนี้เหมาะอย่างยิ่งสำหรับการเรียกใช้โค้ดเมื่อค่าไม่เป็นค่าว่างเท่านั้น และสำหรับแปลงค่าให้เป็นสิ่งอื่น
fun main() {
val name = "Alice"
val length = name.let {
println("Name is $it")
it.length
}
println("Length: $length")
}let กับค่าที่อาจไม่มีค่า
การใช้งาน let ที่พบบ่อยที่สุดคือใช้ร่วมกับโอเปอเรเตอร์เรียกแบบปลอดภัย ?. บล็อกจะทำงานเมื่อค่าไม่เป็นค่าว่างเท่านั้น
fun main() {
val name: String? = "Bob"
name?.let {
println("Hello, $it")
}
val empty: String? = null
empty?.let {
println("This never prints")
}
println("Done")
}การเปลี่ยนชื่อ it ใน let
ภายใน let คุณสามารถเปลี่ยนชื่อ it ให้สื่อความหมายมากขึ้นได้ด้วยการประกาศพารามิเตอร์ของแลมบ์ดา
fun main() {
val price = 100
price.let { amount ->
println("The amount is $amount")
}
}ฟังก์ชัน run
run จะเรียกใช้บล็อกที่มีอ็อบเจ็กต์พร้อมใช้งานในชื่อ this และคืนค่า ผลลัพธ์ของแลมบ์ดา
ใช้ฟังก์ชันนี้เมื่อคุณต้องการเข้าถึงสมาชิกโดยตรงโดยไม่ต้องมีคำนำหน้า
fun main() {
val text = "Kotlin"
val upper = text.run {
println("Length is $length")
uppercase()
}
println(upper)
}run โดยไม่มีตัวรับ
คุณสามารถเรียกใช้ run ได้โดยไม่มีอ็อบเจ็กต์ ฟังก์ชันนี้จะเรียกใช้บล็อกและคืนค่าผลลัพธ์ของบล็อกนั้น เหมาะสำหรับจัดกลุ่มคำสั่งและคำนวณค่า
fun main() {
val result = run {
val a = 5
val b = 10
a + b
}
println("Result: $result")
}it กับ this
ความแตกต่างสำคัญระหว่าง let กับ run อยู่ที่วิธีอ้างอิงอ็อบเจ็กต์:
letใช้itซึ่งเป็นพารามิเตอร์runใช้thisซึ่งเป็นตัวรับและมักไม่ต้องระบุอย่างชัดเจน
ทั้งสองฟังก์ชันคืนค่าผลลัพธ์ของนิพจน์สุดท้ายในบล็อก
fun main() {
val word = "hi"
val a = word.let { it.length }
val b = word.run { length }
println("$a $b")
}การเรียกต่อกันด้วย let
เนื่องจาก let คืนค่าผลลัพธ์ของแลมบ์ดา คุณจึงสามารถเรียกฟังก์ชันต่อกันและแปลงค่าทีละขั้นตอนได้
fun main() {
val number = 4
val output = number
.let { it * 2 }
.let { it + 1 }
println(output)
}run สำหรับตรวจสอบค่าว่างและคำนวณค่า
เช่นเดียวกับ let run ทำงานร่วมกับการเรียกแบบปลอดภัยได้ โดยรวมการตรวจสอบค่าว่างเข้ากับการเข้าถึงสมาชิกไว้ในบล็อกเดียว
fun main() {
val message: String? = "Welcome"
val length = message?.run {
println(this)
length
}
println("Length: $length")
}การคืนค่าชนิดอื่น
ฟังก์ชันทั้งสองสามารถคืนค่าชนิดที่แตกต่างจากอ็อบเจ็กต์ได้ ชนิดของค่าที่คืนมาคือชนิดของค่าที่นิพจน์สุดท้ายประเมินได้
fun main() {
val n = 10
val label: String = n.let { "Value is $it" }
println(label)
}ควรเลือกใช้ let หรือ run เมื่อใด
ใช้ let สำหรับการดำเนินการที่ปลอดภัยจากค่าว่างและการแปลงค่า เมื่อการใช้ it ทำให้อ่านได้ชัดเจน
ใช้ run เมื่อคุณต้องการเรียกใช้สมาชิกหลายรายการของอ็อบเจ็กต์และคำนวณผลลัพธ์ โดย this ช่วยให้เข้าถึงสมาชิกได้โดยตรง
แบบทดสอบสั้น ๆ
ทดสอบความเข้าใจของคุณเกี่ยวกับ let และ run
ทบทวน
คุณได้เรียนรู้ฟังก์ชันขอบเขตสองฟังก์ชันที่คืนค่าผลลัพธ์:
letเปิดให้อ้างอิงอ็อบเจ็กต์ด้วยitและคืนค่าผลลัพธ์ของแลมบ์ดา จึงเหมาะสำหรับการแปลงค่าที่ปลอดภัยจากค่าว่างrunเปิดให้อ้างอิงอ็อบเจ็กต์ด้วยthisและคืนค่าผลลัพธ์ของแลมบ์ดา จึงเหมาะสำหรับจัดกลุ่มการเข้าถึงสมาชิก
ถัดไป คุณจะได้กำหนดค่าอ็อบเจ็กต์ด้วย apply และเพิ่มผลข้างเคียงด้วย also
คำถามที่พบบ่อย
บทเรียน “let และ run” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “let และ run” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “let และ run”
ดำเนินการกับออบเจ็กต์ คุณปฏิบัติ Kotlin Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “let และ run” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Kotlin Academy นี้ได้ไหม
ได้ บทเรียน Kotlin Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- let และ run
- apply และ also
- with
- การเลือกสิ่งที่เหมาะสม