Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah saya Boleh Mengindeks Elemen dalam Penunjuk Slice dalam Go?

Bagaimanakah saya Boleh Mengindeks Elemen dalam Penunjuk Slice dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-13 08:08:03395semak imbas

How Can I Index Elements in a Slice Pointer in Go?

Mengindeks Penunjuk Slice dalam Go

Dalam Go, pengindeksan pada penunjuk hirisan mungkin tidak berfungsi, tetapi ia boleh dilakukan dengan sedikit pengubahsuaian . Apabila cuba mengindeks terus penunjuk hirisan seperti p[0], pengkompil akan melaporkan ralat.

Untuk mengakses elemen menggunakan penuding hirisan, anda perlu menyahrujuk penuding menggunakan *p. Ini boleh dilihat dalam coretan kod berikut:

package main

import (
    "fmt"
)

func main() {
    txs := make([]string, 2)
    txs[0] = "A"

    p := &txs

    fmt.Println((*p)[0]) // Dereference pointer with *
}

Dalam contoh ini, (*p)[0] mengakses elemen hirisan pada indeks 0 dengan terlebih dahulu membatalkan rujuk penuding p dengan *. Operasi penyahrujukan ini mengembalikan nilai hirisan asas, dan kemudian elemen yang dikehendaki diindeks menggunakan [].

Perlu diperhatikan bahawa mengindeks penunjuk hirisan secara langsung boleh mengelirukan dan terdedah kepada ralat, itulah sebabnya Go tidak menyokongnya secara lalai. Menyahrujuk penuding menambahkan langkah tambahan pada kod, memastikan kejelasan dan mengurangkan kemungkinan penggunaan yang salah.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Mengindeks Elemen dalam Penunjuk Slice dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn