Golang II : Pointer in Golang
มาทำความเข้ากับกับ Pointer กันแบบง่ายๆ นะครับ ไม่ต้องไปทฤษฎีอะไรมากอยากได้ทฤษฎีก็ไปหาอ่านเอานะครับ ตัวแปร pointer คือตัวแปรที่เก็บ Address ของ
ตัวแปรอื่นๆ มีการเข้าถึงได้สองแบบคือ * กับ & นะครับ
เว็บนี้อธิบายได้เข้าใจดีครับ https://www.geeksforgeeks.org/pointers-in-golang/
การประกาศตัวแปร Pointer
var pointer_name *Data_Type
เช่น.
var p * int
var p *string
ต่อจากครั้งที่แล้วเราสร้าง project ใหม่ ชื่อว่า pointer_tutorial กันครับ
เมื่อเรารันก็จะได้
ซึ่งก็แน่นอนละว่าตัวแปร number เป็นชนิด integer ซึ่งเรากำหนดค่า = 5
ต่อไปเพิ่มเติมแบบนี้ครับ
เมื่อรันแล้ว จะเห็นว่า p = 0xc0000140d8
เราสามารถประกาศแบบนี้ได้นะครับ
var p *int = &number
เมื่อรันแล้ว จะเห็นว่า p = 0xc0000140d8
ว้าววว ต่อไปเราจะแก้ไขตัวแปร nuber เป็น 10 ทำแบบปกติคือ
วิธีที่สองครับโดยผ่านตัวแปร pointer
สนุกเนอะ ฮ่า ๆ
นอกจากนี้เรายังสามารถเปลี่ยน pointer ให้ตัวแปร pointer ได้อีกด้วยนะครับ
ง่ายไหมครับ ทำความเข้าใจได้ง่ายๆ นะครับ