Latest web development tutorials

Pergi pointer bahasa

Pergi bahasa pointer mudah untuk belajar, menggunakan pointer bahasa Go dapat lebih mudah melakukan beberapa tugas.

Mari kita langkah demi langkah untuk belajar bahasa Go pointer.

Kita semua tahu bahwa variabel merupakan tempat yang nyaman untuk alamat referensi memori komputer.

Pergi mengambil karakter bahasa alamat adalah &, menjadi variabel sebelum menggunakannya akan kembali alamat memori variabel yang sesuai.

Contoh berikut menunjukkan alamat variabel di memori:

package main

import "fmt"

func main() {
   var a int = 10   

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

Mengeksekusi hasil kode output di atas:

变量的地址: 20818a220

Sekarang kita mengerti apa alamat memori dan bagaimana untuk mengaksesnya. Selanjutnya, kami akan memperkenalkan pointer.


Apa pointer

Sebuah pointer dapat menunjuk ke alamat memori nilai variabel menunjuk ke nilai alamat memori.

Seperti variabel dan konstanta, sebelum menggunakan pointer Anda perlu menyatakan pointer. Pointer deklarasi dalam format berikut:

var var_name *var-type

var-jenis tipe pointer, var_name adalah nama variabel pointer, tanda bintang digunakan untuk menentukan variabel sebagai pointer. Berikut ini adalah deklarasi pointer yang valid:

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

Dalam hal ini adalah pointer ke int dan pointer float32.


Cara menggunakan pointer

Proses pointer:

  • Mendefinisikan sebuah variabel pointer.
  • variabel pointer.
  • Nilai alamat pointer titik variabel akses.

Di depan jenis pointer menambahkan tanda bintang (prefix) untuk mendapatkan pointer menunjuk ke.

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 )
}

Contoh pelaksanaan output di atas adalah:

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

Pergi nol pointer

Ketika setelah pointer didefinisikan tidak ditugaskan untuk variabel apapun, nilainya adalah nihil.

pointer nil juga disebut pointer nol.

nil nol dalam konsep dan bahasa lain, Tidak, nihil, NULL, seperti semua mengacu ke nol atau nilai kosong.

Variabel pointer yang biasa disingkat ptr.

Lihat contoh berikut:

package main

import "fmt"

func main() {
   var  ptr *int

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

Contoh di atas output:

ptr 的值为 : 0

Null pointer penilaian:

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

Pergi pointer Lebih

Selanjutnya, kami akan memperkenalkan lebih banyak bahasa Pergi aplikasi pointer:

kadar deskripsi
Pergi array pointer Anda dapat mendefinisikan sebuah array pointer untuk menyimpan alamat
Pergi pointer ke pointer Pergi dukungan pointer ke pointer
Pergi seperti parameter fungsi pointer berlalu Dengan referensi atau alamat Senat, ketika fungsi panggilan dapat mengubah nilainya