Latest web development tutorials

ไปชี้ภาษา

ไปชี้ภาษาเป็นเรื่องง่ายที่จะเรียนรู้การใช้ภาษาตัวชี้ไปได้ง่ายขึ้นสามารถดำเนินการบางอย่าง

ขอให้เราทีละขั้นตอนการเรียนรู้ภาษาไปชี้

เราทุกคนรู้ว่าตัวแปรเป็นตัวยึดที่สะดวกสำหรับการอยู่หน่วยความจำคอมพิวเตอร์อ้างอิง

ไปดึงข้อมูลตัวอักษรภาษาแอดเดรสและลงไปในตัวแปรก่อนที่จะใช้จะกลับมาอยู่หน่วยความจำตัวแปรที่สอดคล้องกัน

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงตัวแปรที่อยู่ในหน่วยความจำ:

package main

import "fmt"

func main() {
   var a int = 10   

   fmt.Printf("变量的地址: %x\n", &a  )
}

ดำเนินการออกผลโค้ดข้างต้น:

变量的地址: 20818a220

ตอนนี้เราเข้าใจสิ่งที่อยู่หน่วยความจำและวิธีการเข้าถึงได้ ต่อไปเราจะมาแนะนำตัวชี้


ตัวชี้คืออะไร

ตัวชี้สามารถชี้ไปอยู่หน่วยความจำค่าใด ๆ ตัวแปรชี้มูลค่าของที่อยู่หน่วยความจำ

เช่นเดียวกับตัวแปรและค่าคงที่ก่อนที่จะใช้ตัวชี้ที่คุณจำเป็นต้องประกาศตัวชี้ ประกาศตัวชี้ในรูปแบบต่อไปนี้:

var var_name *var-type

var ประเภทประเภทตัวชี้ var_name เป็นตัวชี้ชื่อตัวแปรเครื่องหมายดอกจันถูกใช้เพื่อระบุตัวแปรเป็นตัวชี้ ต่อไปนี้เป็นคำประกาศชี้ที่ถูกต้อง:

var ip *int        /* 指向整型*/
var fp *float32    /* 指向浮点型 */

ในกรณีนี้มันเป็นตัวชี้ไป int และตัวชี้ float32


วิธีการใช้ตัวชี้

ขั้นตอนการชี้:

  • กำหนดตัวแปรชี้
  • ตัวแปรชี้
  • ค่าของจุดเชื่อมต่อตัวแปรที่อยู่

ในด้านหน้าของประเภทตัวชี้เพิ่มเครื่องหมายดอกจัน (คำนำหน้า) เพื่อให้ได้จุดที่ชี้ไปยัง

package main

import "fmt"

func main() {
   var a int= 20   /* 声明实际变量 */
   var ip *int        /* 声明指针变量 */

   ip = &a  /* 指针变量的存储地址 */

   fmt.Printf("a 变量的地址是: %x\n", &a  )

   /* 指针变量的存储地址 */
   fmt.Printf("ip 变量的存储地址: %x\n", ip )

   /* 使用指针访问值 */
   fmt.Printf("*ip 变量的值: %d\n", *ip )
}

ตัวอย่างของการดำเนินงานของการส่งออกดังกล่าวข้างต้นเป็น:

a 变量的地址是: 20818a220
ip 变量的存储地址: 20818a220
*ip 变量的值: 20

ไปชี้โมฆะ

เมื่อหลังจากที่มีการกำหนดตัวชี้ไม่ได้กำหนดให้กับตัวแปรใด ๆ ด้านความคุ้มค่าเป็นศูนย์

ชี้ศูนย์จะเรียกว่าตัวชี้โมฆะ

ศูนย์โมฆะในแนวคิดและภาษาอื่น ๆ ไม่มีศูนย์โมฆะเหมือนหมายถึงศูนย์หรือค่าว่างเปล่า

ตัวแปรชี้เป็นปกติสั้น PTR

ดูตัวอย่างต่อไปนี้:

package main

import "fmt"

func main() {
   var  ptr *int

   fmt.Printf("ptr 的值为 : %x\n", ptr  )
}

เอาท์พุทตัวอย่างข้างต้นคือ

ptr 的值为 : 0

การตัดสินชี้โมฆะ:

if(ptr != nil)     /* ptr 不是空指针 */
if(ptr == nil)    /* ptr 是空指针 */

ไปชี้เพิ่มเติม

ต่อไปเราจะมาแนะนำภาษามากขึ้นไปการใช้งานคำแนะนำ:

เนื้อหา ลักษณะ
ไปอาร์เรย์ชี้ คุณสามารถกำหนดอาร์เรย์ที่ชี้ไปยังที่อยู่ในการจัดเก็บ
ไปชี้ไปชี้ ไปชี้การสนับสนุนเพื่อเป็นตัวชี้
ไปเช่นพารามิเตอร์ตัวชี้ฟังก์ชันผ่าน โดยการอ้างอิงหรือที่อยู่ของวุฒิสภาเมื่อเรียกใช้ฟังก์ชันสามารถเปลี่ยนค่าของมัน