ค่าคงที่และ iota
กำหนดค่าคงที่และใช้ iota สำหรับการแจกแจงค่า
ค่าคงที่และ iota เป็นบทเรียน Go Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Go Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน
ค่าคงที่คืออะไร
ค่าคงที่เก็บค่าที่ไม่เปลี่ยนแปลงขณะทำงาน
- ประกาศด้วย
const - ต้องคำนวณได้ตั้งแต่ขณะคอมไพล์
- อาจมีชนิดหรือไม่มีชนิดก็ได้
- อนุญาตให้ใช้ลิเทอรัลสตริง บูลีน ตัวเลข และ rune
ค่าคงที่มีชนิดเทียบกับไม่มีชนิด
ค่าคงที่ที่ไม่มีชนิดมีความละเอียดสูงกว่าและยืดหยุ่นกว่า:
const Pi = 3.14159— จำนวนทศนิยมไม่มีชนิด ปรับให้เข้ากับบริบทได้const Pi float64 = 3.14159— จำนวนทศนิยมชนิด float64- ค่าคงที่จำนวนเต็มที่ไม่มีชนิดสามารถใช้กับชนิดจำนวนเต็มใดก็ได้
นิพจน์ค่าคงที่
ค่าคงที่สามารถคำนวณจากค่าคงที่อื่นได้ตั้งแต่ขณะคอมไพล์:
const (
KB = 1024
MB = 1024 * KB
GB = 1024 * MB
)iota: ค่าที่เพิ่มขึ้นอัตโนมัติ
iota เป็นตัวนับในตัวที่เริ่มต้นใหม่เป็น 0 ในแต่ละบล็อก const และเพิ่มขึ้นทีละ 1 สำหรับค่าคงที่แต่ละตัวในบล็อก
const (
Sunday = iota // 0
Monday // 1
Tuesday // 2
Wednesday // 3
)iota กับนิพจน์
ผสาน iota กับนิพจน์เพื่อสร้างการแจกแจงที่มีประสิทธิภาพ:
const (
_ = iota // skip 0
KB = 1 << (10 * iota) // 1024
MB // 1048576
GB // 1073741824
)ค่าคงที่สตริง
ค่าคงที่สตริงคือค่าสตริงที่เปลี่ยนแปลงไม่ได้และทราบค่าตั้งแต่ขณะคอมไพล์:
const (
AppName = "GoApp"
AppVersion = "1.0.0"
Greeting = "Hello, " + AppName
)ค่าคงที่บูลีน
true และ false เป็นค่าคงที่บูลีนที่ไม่มีชนิดซึ่งประกาศไว้ล่วงหน้าใน Go คุณสามารถกำหนดค่าคงที่ที่มีชนิดบูลีนของคุณเองสำหรับแฟล็กคุณลักษณะได้:
const (
EnableMetrics = true
DebugMode = false
)ค่าคงที่เทียบกับตัวแปร
ความแตกต่างที่สำคัญ:
- ค่าคงที่เปลี่ยนแปลงไม่ได้ — การกำหนดค่าหลังการประกาศจะทำให้เกิดข้อผิดพลาดขณะคอมไพล์
- ค่าคงที่ไม่สามารถใช้นิพจน์ที่ไม่ใช่ค่าคงที่ (เช่น การเรียกฟังก์ชัน)
- ค่าคงที่มีประสิทธิภาพมากกว่า — คอมไพเลอร์อาจแทนค่าลงในโค้ดโดยตรง
- ใช้ค่าคงที่แทนตัวเลขที่ไม่มีความหมายชัดเจนเพื่อให้อ่านโค้ดได้ง่ายขึ้น
ชนิดแจกแจงด้วย iota
สร้างการแจกแจงที่ปลอดภัยด้านชนิดโดยผสานชนิดที่กำหนดเข้ากับ iota:
type Direction int
const (
North Direction = iota
East
South
West
)Stringer เพื่อให้อีนัมอ่านง่าย
ติดตั้งอินเทอร์เฟซ Stringer ให้กับชนิดอีนัม เพื่อให้พิมพ์ชื่อที่มนุษย์อ่านเข้าใจได้แทนจำนวนเต็มดิบ เครื่องมือ stringer สามารถสร้างโค้ดนี้ให้คุณโดยอัตโนมัติ
รูปแบบบิตมาสก์ด้วย iota
iota ร่วมกับการเลื่อนบิตใช้สร้างชุดแฟล็กได้:
type Permission uint
const (
Read Permission = 1 << iota // 1
Write // 2
Execute // 4
)
func main() {
access := Read | Write // 3
_ = access
}ตรวจสอบความเข้าใจอย่างรวดเร็ว
iota เริ่มต้นที่ค่าใดในบล็อก const ใหม่แต่ละบล็อก
ทบทวน: ค่าคงที่และ iota
ตอนนี้คุณเข้าใจค่าคงที่ใน Go แล้ว:
constใช้ประกาศค่าที่เปลี่ยนแปลงไม่ได้และกำหนดได้ตั้งแต่ขณะคอมไพล์- ค่าคงที่ที่ไม่มีชนิดมีความยืดหยุ่นและความละเอียดสูง
iotaเพิ่มค่าอัตโนมัติภายในบล็อก const โดยเริ่มจาก 0- ผสาน iota กับนิพจน์เพื่อสร้างขนาดไฟล์ แฟล็กบิต และอีนัม
- สร้างการแจกแจงที่ปลอดภัยด้านชนิดด้วยชนิดที่กำหนด + iota
ถัดไป: การแปลงชนิดอย่างชัดเจนและชื่อแทนชนิด
คำถามที่พบบ่อย
บทเรียน “ค่าคงที่และ iota” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ค่าคงที่และ iota” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Go Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ค่าคงที่และ iota”
กำหนดค่าคงที่และใช้ iota สำหรับการแจกแจงค่า คุณปฏิบัติ Go Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Go Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Go Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “ค่าคงที่และ iota” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Go Academy นี้ได้ไหม
ได้ บทเรียน Go Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การประกาศตัวแปรใน Go
- ชนิดข้อมูลในตัวของ Go
- ค่าคงที่และ iota
- การแปลงชนิดข้อมูลใน Go