ประเภทข้อมูล struct แบบไม่มีชื่อ

ใน Go เราสามารถสร้าง type ใหม่ด้วย struct ซึ่งเป็นการเอา type อื่นมาประกอบเป็นเป็น field ย่อยๆใน struct ตัวอย่าง type ใหม่เช่น type Employee struct { Firstname string Lastname string } เมื่อได้ type ใหม่ชื่อ Employee เราก็เอามันไปสร้างตัวแปรเก็บข้อมูล Employee ได้ปกติเหมือน type อื่น เช่น e := Employee { Firstname: “Weerasak”, Lastname: “Chongnguluam” } ทีนี้ ในบางกรณี เราไม่ได้ต้องการจะเอา type ที่มีโครงสร้าง field แบบนี้ ไปใช้ที่อื่น เราใช้ครั้งเดียว เช่นกรณีการแกะข้อมูลจาก Request Body […]

Continue reading →

สร้าง Array ที่มีขนาดตามค่าเริ่มต้น

ในภาษา Go นั้น Array คือ type ที่ต้องมีขนาดชัดเจน ส่วนการใช้งาน Array แบบเพิ่มลดขนาดได้นั้นแยกเป็น type อีกแบบคือ Slice ดังนั้นตอนเริ่มประกาศตัวแปร Array จริงๆแล้วต้องรู้ขนาดเช่น nums := [5]int{1, 2, 3, 4, 5} ถ้าเป็น Slice ก็คือไม่ต้องกำหนดขนาด nums := []int{1,2,3,4,5} ซึ่งปกติผมจะไม่สนใจขนาดก็ไปใช้ Slice ไปเลยตลอดเวลา ทีนี้ถ้าเกิดเราไม่ได้ต้องการที่จะเพิ่มลดขนาดของตัวแปรนี้เลย เราก็ควรที่จะสร้างเป็น Array แต่ถ้าต้องมีการแก้ไขจำนวนเริ่มต้นก็ต้องมานั่งแก้เลข 5 เป็น 10 เป็น 100 เอง แต่จริงๆแล้ว Go มีวิธีการสร้าง Array อีกแบบโดยไม่ต้องกำหนดค่าจำนวนสมาชิกเอง แต่จะดูค่าเริ่มต้นที่กำหนดให้ว่ามีขนาดเท่าไหร่ Array ก็มีขนาดเท่านั้น โดยใช้ … แทนค่าตัวเลข เช่น nums […]

Continue reading →