ไป - ประเภทข้อมูล
ในภาษาการเขียนโปรแกรม Go ชนิดข้อมูลหมายถึงระบบที่กว้างขวางที่ใช้สำหรับการประกาศตัวแปรหรือฟังก์ชันประเภทต่างๆ ประเภทของตัวแปรจะกำหนดพื้นที่ที่ใช้ในหน่วยเก็บข้อมูลและวิธีการตีความรูปแบบบิตที่จัดเก็บ
ประเภทของ Go สามารถแบ่งได้ดังนี้ -
ซีเนียร์ | ประเภทและรายละเอียด |
---|---|
1 | Boolean types เป็นประเภทบูลีนและประกอบด้วยค่าคงที่ที่กำหนดไว้ล่วงหน้าสองค่า: (a) true (b) false |
2 | Numeric types เป็นประเภทเลขคณิตอีกครั้งและแสดงถึง a) ประเภทจำนวนเต็มหรือ b) ค่าทศนิยมตลอดทั้งโปรแกรม |
3 | String types ประเภทสตริงแสดงถึงชุดของค่าสตริง ค่าของมันคือลำดับไบต์ สตริงเป็นประเภทที่ไม่เปลี่ยนรูปซึ่งเมื่อสร้างขึ้นแล้วจะไม่สามารถเปลี่ยนเนื้อหาของสตริงได้ ประเภทสตริงที่ประกาศไว้ล่วงหน้าคือสตริง |
4 | Derived types ซึ่งรวมถึง (a) ประเภทตัวชี้ (b) ประเภทอาร์เรย์ (c) ประเภทโครงสร้าง (d) ประเภทสหภาพและ (e) ประเภทฟังก์ชัน f) ประเภทสไลซ์ g) ประเภทอินเตอร์เฟส h) ประเภทแผนที่ i) ประเภทช่องสัญญาณ |
ประเภทอาร์เรย์และประเภทโครงสร้างเรียกรวมกันว่า aggregate types. ประเภทของฟังก์ชันระบุชุดของฟังก์ชันทั้งหมดที่มีพารามิเตอร์และประเภทผลลัพธ์เดียวกัน เราจะพูดถึงประเภทพื้นฐานในส่วนต่อไปนี้ในขณะที่ประเภทอื่น ๆ จะกล่าวถึงในบทต่อ ๆ ไป
ประเภทจำนวนเต็ม
ประเภทจำนวนเต็มที่ไม่ขึ้นกับสถาปัตยกรรมที่กำหนดไว้ล่วงหน้าคือ -
ซีเนียร์ | ประเภทและรายละเอียด |
---|---|
1 | uint8 จำนวนเต็ม 8 บิตที่ไม่ได้ลงนาม (0 ถึง 255) |
2 | uint16 จำนวนเต็ม 16 บิตที่ไม่ได้ลงชื่อ (0 ถึง 65535) |
3 | uint32 จำนวนเต็ม 32 บิตที่ไม่ได้ลงชื่อ (0 ถึง 4294967295) |
4 | uint64 จำนวนเต็ม 64 บิตที่ไม่ได้ลงชื่อ (0 ถึง 18446744073709551615) |
5 | int8 ลงนามจำนวนเต็ม 8 บิต (-128 ถึง 127) |
6 | int16 ลงนามจำนวนเต็ม 16 บิต (-32768 ถึง 32767) |
7 | int32 ลงนามจำนวนเต็ม 32 บิต (-2147483648 ถึง 2147483647) |
8 | int64 ลงนามเลขจำนวนเต็ม 64 บิต (-9223372036854775808 ถึง 9223372036854775807) |
ประเภทลอย
ประเภทโฟลตที่ไม่ขึ้นกับสถาปัตยกรรมที่กำหนดไว้ล่วงหน้าคือ -
ซีเนียร์ | ประเภทและรายละเอียด |
---|---|
1 | float32 ตัวเลขทศนิยม 32 บิต IEEE-754 |
2 | float64 ตัวเลขทศนิยม 64 บิต IEEE-754 |
3 | complex64 จำนวนเชิงซ้อนที่มีส่วนจริงและส่วนจินตภาพ float32 |
4 | complex128 จำนวนเชิงซ้อนที่มีส่วนจริงและส่วนจินตภาพของ float64 |
ค่าของจำนวนเต็ม n บิตคือ n บิตและแสดงโดยใช้การคำนวณทางคณิตศาสตร์เสริมของสองค่า
ประเภทตัวเลขอื่น ๆ
นอกจากนี้ยังมีชุดประเภทตัวเลขที่มีขนาดเฉพาะการใช้งาน -
ซีเนียร์ | ประเภทและรายละเอียด |
---|---|
1 | byte เหมือนกับ uint8 |
2 | rune เช่นเดียวกับ int32 |
3 | uint 32 หรือ 64 บิต |
4 | int ขนาดเดียวกับ uint |
5 | uintptr จำนวนเต็มที่ไม่ได้ลงชื่อเพื่อเก็บบิตที่ไม่ได้ตีความของค่าตัวชี้ |