Go by Example: Methods
Go สนับสนุนวิธีการที่กำหนดไว้ใน struct
types
• Method นี้มีวิธีรับประเภทของสัญญาณ
* rect
func (r *rect) area()
int {
return r.width * r.height
}
• สามารถกำหนดวิธีการสำหรับตัวบ่งชี้หรือตัวรับชนิดค่าได้
• ที่นี่เราเรียก
2 วิธีที่กำหนดไว้สำหรับ struct ของเรา
fmt.Println("area: ", r.area())
fmt.Println("perim:", r.perim()
• Go จัดการการแปลงระหว่างค่าและคำแนะนำสำหรับการเรียกเมธอดโดยอัตโนมัติ
คุณอาจต้องการใช้ตัวรับประเภทตัวรับเพื่อหลีกเลี่ยงการคัดลอกการเรียกเมธหรืออนุญาตให้เมธอด
mutate โครงสร้างที่รับ
• ต่อไปเราจะดูกลไกของ
Go สำหรับการจัดกลุ่มและตั้งชื่อชุดของวิธีการที่เกี่ยวข้อง:
interfaces
Go by Example: Interfaces
Interfaces เป็นคอลเลกชันชื่อลายเซ็นของโหมด
• ต่อไปนี้คือส่วนติดต่อพื้นฐานสำหรับรูปทรงเรขาคณิต
• สำหรับตัวอย่างของเราเราจะใช้อินเทอร์เฟซนี้ในรูปแบบ
rect และ circle
• ในการใช้อินเทอร์เฟซใน
Go เราจำเป็นต้องใช้วิธีการทั้งหมดในอินเทอร์เฟซ ที่นี่เราใช้เรขาคณิตใน rects
• การดำเนินการสำหรับวงกลม
func (c circle) area() float64 {
return math.Pi * c.radius * c.radius
}
• ถ้าตัวแปรมีประเภทอินเทอร์เฟซเราสามารถเรียกใช้เมธอดที่อยู่ในอินเทอร์เฟซที่มีชื่อได้
นี่คือฟังก์ชันการวัดทั่วไปที่ใช้ประโยชน์จากข้อมูลนี้เพื่อใช้กับรูปทรงเรขาคณิตใด
ๆ
• วงกลมและประเภทโครงสร้างแบบทวิปใช้อินเตอร์เฟซเรขาคณิตเพื่อให้เราสามารถใช้อินสแตนซ์ของโครงสร้างเหล่านี้เป็นอาร์กิวเมนต์เพื่อวัดได้
Go by Example: Errors
• ใน Go
เป็นสำนวนในการสื่อสารข้อผิดพลาดผ่านทางค่าที่ส่งคืนที่แยกต่างหากต่างหาก
นี้ขัดแย้งกับข้อยกเว้นที่ใช้ในภาษาเช่น Java และ
Ruby และค่าผลมากเกินไป /
ค่าผิดพลาดบางครั้งใช้ในวิธีการของ C. Go ทำให้ง่ายต่อการดูที่หน้าที่ส่งกลับข้อผิดพลาดและจัดการกับพวกเขาโดยใช้โครงสร้างภาษาเดียวกันใช้สำหรับอื่น
ๆ , งานที่ไม่ใช่ข้อผิดพลาด
• ตามข้อตกลงข้อผิดพลาดคือมูลค่าที่ส่งคืนล่าสุดและมีข้อผิดพลาดประเภทอินเทอร์เฟซในตัว
• ข้อผิดพลาดใหม่สร้างค่าข้อผิดพลาดพื้นฐานพร้อมกับข้อความแสดงข้อผิดพลาดที่ระบุ
• ค่าเป็นศูนย์ในตำแหน่งข้อผิดพลาดระบุว่าไม่มีข้อผิดพลาด
• เป็นไปได้ที่จะใช้ประเภทที่กำหนดเองเป็นข้อผิดพลาดโดยการใช้วิธีการ
Error () ในไฟล์เหล่านั้น
ต่อไปนี้คือตัวแปรในตัวอย่างข้างต้นที่ใช้ประเภทที่กำหนดเองเพื่อแสดงข้อผิดพลาดของอาร์กิวเมนต์อย่างชัดเจน
• ลูปสองแถวด้านล่างทดสอบแต่ละฟังก์ชันที่ส่งคืนข้อผิดพลาด
โปรดทราบว่าการใช้การตรวจสอบข้อผิดพลาดแบบอินไลน์ในบรรทัด if เป็นสำนวนที่พบบ่อยในรหัส
Go
• ถ้าคุณต้องการใช้ข้อมูลในข้อผิดพลาดที่กำหนดเองโดยทางโปรแกรมคุณจะต้องได้รับข้อผิดพลาดเป็นตัวอย่างของประเภทข้อผิดพลาดที่กำหนดเองผ่านการยืนยัน
Credit By :https://gobyexample.com/
ขอบคุณที่เข้ามาดูกันนะคับ
##########ฝากติดตามเพจของพวกเราด้วยนะคับ############
ไม่มีความคิดเห็น:
แสดงความคิดเห็น