Scala - ประเภทข้อมูล
Scala มีประเภทข้อมูลเหมือนกับ Java ทั้งหมดโดยมีหน่วยความจำและความแม่นยำเดียวกัน ต่อไปนี้เป็นตารางที่ให้รายละเอียดเกี่ยวกับประเภทข้อมูลทั้งหมดที่มีอยู่ใน Scala -
ซีเนียร์ No | ประเภทข้อมูลและคำอธิบาย |
---|---|
1 | Byte ค่าเซ็น 8 บิต ช่วงตั้งแต่ -128 ถึง 127 |
2 | Short ค่าเซ็น 16 บิต ช่วง -32768 ถึง 32767 |
3 | Int ค่าเซ็น 32 บิต ช่วง -2147483648 ถึง 2147483647 |
4 | Long ค่าที่ลงชื่อ 64 บิต -9223372036854775808 ถึง 9223372036854775807 |
5 | Float 32 บิต IEEE 754 single-precision float |
6 | Double 64 บิต IEEE 754 double-precision float |
7 | Char อักขระ Unicode ที่ไม่ได้ลงชื่อ 16 บิต ช่วงตั้งแต่ U + 0000 ถึง U + FFFF |
8 | String ลำดับของ Chars |
9 | Boolean ทั้งตัวอักษรจริงหรือเท็จตามตัวอักษร |
10 | Unit สอดคล้องกับไม่มีค่า |
11 | Null การอ้างอิงว่างเปล่าหรือว่างเปล่า |
12 | Nothing ประเภทย่อยของประเภทอื่น ๆ ไม่มีค่า |
13 | Any ซุปเปอร์ไทป์ทุกประเภท วัตถุใด ๆ เป็นประเภทAny |
14 | AnyRef supertype ของประเภทอ้างอิงใด ๆ |
ประเภทข้อมูลทั้งหมดที่ระบุไว้ข้างต้นเป็นวัตถุ ไม่มีประเภทดั้งเดิมเหมือนใน Java ซึ่งหมายความว่าคุณสามารถเรียกใช้เมธอดบน Int, Long ฯลฯ
Scala ตัวอักษรพื้นฐาน
กฎที่ Scala ใช้สำหรับตัวอักษรนั้นเรียบง่ายและใช้งานง่าย ส่วนนี้จะอธิบายถึงตัวอักษรสกาลาพื้นฐานทั้งหมด
ตัวอักษรอินทิกรัล
ตัวอักษรจำนวนเต็มมักเป็นประเภท Int หรือประเภท Long เมื่อตามด้วยคำต่อท้าย L หรือ l นี่คือตัวอักษรจำนวนเต็ม -
0
035
21
0xFFFFFFFF
0777L
Floating Point Literal
ตัวอักษรจุดลอยตัวเป็นประเภท Float เมื่อตามด้วยคำต่อท้ายประเภทจุดลอยตัว F หรือ f และเป็นประเภท Double นี่คือตัวอักษรทศนิยมบางส่วน -
0.0
1e30f
3.14159f
1.0e100
.1
ตัวอักษรบูลีน
ตัวอักษรบูลีน true และ false เป็นสมาชิกประเภทบูลีน
ตัวอักษรสัญลักษณ์
สัญลักษณ์ลิเทอรัล 'x เป็นชวเลขสำหรับนิพจน์ scala.Symbol("x"). Symbol เป็นคลาสเคสซึ่งกำหนดไว้ดังนี้
package scala
final case class Symbol private (name: String) {
override def toString: String = "'" + name
}
ตัวอักษร
อักขระลิเทอรัลคืออักขระเดี่ยวที่อยู่ในเครื่องหมายคำพูด อักขระเป็นอักขระ Unicode ที่พิมพ์ได้หรืออธิบายโดยลำดับการหลีกเลี่ยง นี่คือตัวอักษรบางตัว -
'a'
'\u0041'
'\n'
'\t'
ตัวอักษรสตริง
สตริงลิเทอรัลคือลำดับของอักขระในเครื่องหมายคำพูดคู่ อักขระเป็นอักขระ Unicode ที่พิมพ์ได้หรืออธิบายโดยลำดับการหลีกเลี่ยง นี่คือตัวอักษรสตริง -
"Hello,\nWorld!"
"This string contains a \" character."
สตริงหลายบรรทัด
ลิเทอรัลสตริงแบบหลายบรรทัดคือลำดับของอักขระที่อยู่ในเครื่องหมายคำพูดสามคำ "" ... "" " ลำดับของอักขระเป็นไปตามอำเภอใจยกเว้นว่าอาจมีเครื่องหมายอัญประกาศติดต่อกันสามตัวขึ้นไปที่ส่วนท้ายสุดเท่านั้น
อักขระต้องไม่จำเป็นต้องพิมพ์ได้ นอกจากนี้ยังอนุญาตให้ขึ้นบรรทัดใหม่หรืออักขระควบคุมอื่น ๆ นี่คือลิเทอรัลสตริงหลายบรรทัด -
"""the present string
spans three
lines."""
ค่าว่าง
ค่า null เป็นประเภท scala.Nullและเข้ากันได้กับทุกประเภทการอ้างอิง หมายถึงค่าอ้างอิงที่อ้างถึงอ็อบเจ็กต์ "null" พิเศษ
ลำดับการหลบหนี
ลำดับ Escape ต่อไปนี้ได้รับการยอมรับในอักขระและสตริงลิเทอรัล
ลำดับการหลบหนี | Unicode | คำอธิบาย |
---|---|---|
\ b | \ u0008 | backspace BS |
\ t | \ u0009 | แท็บแนวนอน HT |
\ n | \ u000c | formfeed FF |
\ ฉ | \ u000c | formfeed FF |
\ r | \ u000d | การคืนรถ CR |
\ " | \ u0022 | คำพูดคู่ " |
\ ' | \ u0027 | คำพูดเดียว |
\\ | \ u005c | แบ็กสแลช \ |
อักขระที่มี Unicode ระหว่าง 0 ถึง 255 อาจแสดงด้วยการเว้นเลขฐานแปดเช่นแบ็กสแลช '\' ตามด้วยลำดับของอักขระฐานแปดไม่เกินสามตัว ต่อไปนี้เป็นตัวอย่างในการแสดงอักขระลำดับการหลีก -
ตัวอย่าง
object Test {
def main(args: Array[String]) {
println("Hello\tWorld\n\n" );
}
}
เมื่อโค้ดด้านบนถูกคอมไพล์และเรียกใช้งานจะให้ผลลัพธ์ดังนี้ -
เอาต์พุต
Hello World