val, var และชนิด
การผูกค่าและการอนุมานชนิด
val, var และชนิด เป็นบทเรียน Scala for Backend Engineering & Functional Programming ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Scala for Backend Engineering & Functional Programming และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Scala for Backend Engineering & Functional Programming มีบทเรียนทั้งหมด 4 บทเรียน
การผูกชื่อใน Scala
ใน Scala คุณตั้งชื่อให้ค่าโดยใช้ การผูกชื่อ คีย์เวิร์ดทั้งสองคือ val และ var
val ไม่เปลี่ยนแปลงค่าได้ (ไม่สามารถกำหนดค่าใหม่ให้ได้) ส่วน var เปลี่ยนแปลงค่าได้ (สามารถกำหนดค่าใหม่ให้ได้)
การประกาศ val
val จะผูกชื่อเข้ากับค่าหนึ่งครั้ง การพยายามกำหนดค่าใหม่ให้จะทำให้เกิดข้อผิดพลาดระหว่างคอมไพล์
โดยทั่วไปควรเลือกใช้ val ความไม่เปลี่ยนแปลงทำให้ทำความเข้าใจโค้ดได้ง่ายขึ้น
object Main {
def main(args: Array[String]): Unit = {
val name = "Ada"
println(name)
}
}การประกาศ var
var สามารถกำหนดค่าใหม่ได้ด้วย = ใช้เมื่อคุณจำเป็นต้องมีสถานะที่เปลี่ยนแปลงได้อย่างแท้จริงเท่านั้น
โปรดสังเกตว่าค่าใหม่ยังคงต้องมีชนิดข้อมูลตรงกับชนิดข้อมูลเดิม
object Main {
def main(args: Array[String]): Unit = {
var count = 0
count = count + 1
count = count + 1
println(count)
}
}การอนุมานชนิดข้อมูล
โดยทั่วไป Scala จะหาชนิดข้อมูลให้คุณเอง การเขียน val x = 42 จะทำให้ x เป็น Int โดยอัตโนมัติ
สิ่งนี้เรียกว่า การอนุมานชนิดข้อมูล คุณจึงได้ประโยชน์จากการกำหนดชนิดข้อมูลแบบสถิติโดยไม่ต้องเขียนชนิดข้อมูลทุกครั้ง
object Main {
def main(args: Array[String]): Unit = {
val x = 42
val pi = 3.14
val flag = true
println(x)
println(pi)
println(flag)
}
}คำอธิบายชนิดข้อมูลอย่างชัดเจน
คุณสามารถระบุชนิดข้อมูลอย่างชัดเจนหลังเครื่องหมายโคลอนได้เช่นกัน: val x: Int = 42
วิธีนี้มีประโยชน์สำหรับการอธิบายโค้ด หรือเมื่อต้องการเลือกชนิดข้อมูลที่รองรับค่ากว้างกว่าชนิดที่อนุมานได้
object Main {
def main(args: Array[String]): Unit = {
val age: Int = 30
val price: Double = 9.99
val label: String = "Sale"
println(label + ": " + price)
}
}ชนิดข้อมูลตัวเลขทั่วไป
Scala มีชนิดข้อมูลตัวเลขหลายชนิด:
Intสำหรับจำนวนเต็มLongสำหรับจำนวนเต็มขนาดใหญ่DoubleสำหรับเลขทศนิยมFloatสำหรับเลขทศนิยมที่มีขนาดเล็กกว่า
ค่าคงที่จำนวนเต็มจะมีค่าเริ่มต้นเป็น Int ส่วนค่าคงที่ทศนิยมจะมีค่าเริ่มต้นเป็น Double
object Main {
def main(args: Array[String]): Unit = {
val whole: Int = 7
val big: Long = 9000000000L
val dec: Double = 2.5
println(whole + dec)
}
}Boolean และ Char
Boolean เก็บค่า true หรือ false ส่วน Char เก็บอักขระเดี่ยวที่เขียนภายในเครื่องหมายอัญประกาศเดี่ยว
สิ่งเหล่านี้เป็นชนิดข้อมูลเต็มรูปแบบที่คุณสามารถเก็บไว้ใน val และ var ได้
object Main {
def main(args: Array[String]): Unit = {
val isReady: Boolean = true
val grade: Char = 'A'
println(isReady)
println(grade)
}
}ชนิดข้อมูล String
String เก็บข้อความภายในเครื่องหมายอัญประกาศคู่ สตริงใน Scala ไม่สามารถเปลี่ยนแปลงค่าได้
คุณสามารถต่อสตริงด้วย + และเรียกใช้เมธอดที่มีประโยชน์มากมายกับสตริงเหล่านั้นได้
object Main {
def main(args: Array[String]): Unit = {
val first = "Grace"
val last = "Hopper"
val full = first + " " + last
println(full.toUpperCase)
}
}เหตุใดจึงเลือก val แทน var
ค่าที่ไม่เปลี่ยนแปลงช่วยป้องกันข้อผิดพลาดจำนวนมาก เนื่องจากไม่มีสิ่งอื่นมาเปลี่ยนค่าโดยที่คุณไม่รู้ตัว
- ทำความเข้าใจได้ง่ายกว่า
- ปลอดภัยกว่าในโค้ดที่ทำงานพร้อมกัน
- ส่งเสริมรูปแบบการเขียนโปรแกรมเชิงฟังก์ชัน
เลือกใช้ var เฉพาะเมื่อจำเป็นต้องเปลี่ยนแปลงค่าจริง ๆ
ความปลอดภัยของชนิดข้อมูลในการใช้งานจริง
เนื่องจาก Scala ใช้การกำหนดชนิดข้อมูลแบบสถิติคอมไพเลอร์จึงตรวจพบชนิดข้อมูลไม่ตรงกันก่อนที่โปรแกรมจะทำงาน
การกำหนดข้อความให้กับ Int จะล้มเหลวขณะคอมไพล์ ต่อไปนี้คือตัวอย่างโค้ดที่ถูกต้องและมีชนิดข้อมูลตรงกัน
object Main {
def main(args: Array[String]): Unit = {
val quantity: Int = 3
val unitPrice: Double = 4.50
val total: Double = quantity * unitPrice
println(total)
}
}นำทุกอย่างมารวมกัน
รวมการผูกชื่อแบบไม่เปลี่ยนแปลงและแบบเปลี่ยนแปลงได้เข้ากับการอนุมานชนิดข้อมูลและคำอธิบายชนิดข้อมูลในโปรแกรมขนาดเล็กหนึ่งโปรแกรม
โปรดสังเกตว่าคอมไพเลอร์ติดตามชนิดข้อมูลทุกชนิดให้คุณอย่างไร
object Main {
def main(args: Array[String]): Unit = {
val base = 100
var running = base
val step: Int = 25
running = running + step
println(running)
}
}ตรวจสอบอย่างรวดเร็ว
ตรวจสอบความเข้าใจเกี่ยวกับการผูกชื่อและชนิดข้อมูลของคุณ
สรุปทบทวน
คุณได้เรียนรู้วิธีที่ Scala ตั้งชื่อให้ค่า:
valคือการผูกชื่อแบบไม่เปลี่ยนแปลง ส่วนvarเปลี่ยนแปลงได้- การอนุมานชนิดข้อมูล จะเลือกชนิดข้อมูลจากค่า
- คุณสามารถเพิ่มคำอธิบายชนิดข้อมูลอย่างชัดเจน เช่น
val x: Int - ชนิดข้อมูลพื้นฐานได้แก่
Int,Long,Double,Boolean,CharและString - ควรเลือกใช้
valเพื่อให้โค้ดปลอดภัยและอ่านเข้าใจง่ายขึ้น
เรียนรู้ Scala ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 39
- บทเรียน
- 143
คำถามที่พบบ่อย
บทเรียน “val, var และชนิด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “val, var และชนิด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Scala for Backend Engineering & Functional Programming ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Scala for Backend Engineering & Functional Programming มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “val, var และชนิด”
การผูกค่าและการอนุมานชนิด คุณปฏิบัติ Scala for Backend Engineering & Functional Programming ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Scala for Backend Engineering & Functional Programming หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Scala for Backend Engineering & Functional Programming บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “val, var และชนิด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Scala for Backend Engineering & Functional Programming นี้ได้ไหม
ได้ บทเรียน Scala for Backend Engineering & Functional Programming ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การใช้ REPL
- val, var และชนิด
- นิพจน์แทนคำสั่ง
- การแทรกค่าลงในสตริง