Rumah >pembangunan bahagian belakang >Golang >Adakah Pembolehubah Go Ditimpa Kerana Salah Faham Slice?
Dalam keadaan ini, isunya terletak pada memahami cara kepingan berfungsi dalam Go. Sekeping terdiri daripada penuding kepada tatasusunan, bersama-sama dengan panjang dan kapasitinya. Apabila menambahkan elemen pada kepingan, ia mula-mula menyemak sama ada memanjangkan kepingan akan melebihi kapasiti tatasusunan asasnya. Jika ya, tatasusunan yang lebih besar diperuntukkan, elemen sedia ada disalin kepadanya, dan kapasiti dikemas kini. Kemudian, elemen baharu ditambahkan pada penghujung tatasusunan dan panjangnya dikemas kini.
Dalam kod anda, anda mempunyai baris berikut:
<code class="go">pathA := append(route, nextA) pathB := append(route, nextB)</code>
Terdapat dua kemungkinan di sini :
Nampaknya kes pertama adalah benar untuk lelaran gelung awal, selepas itu kes kedua berlaku. Isu ini boleh diselesaikan dengan membuat salinan secara manual untuk salah satu laluan ini menggunakan copy() dan make().
Atas ialah kandungan terperinci Adakah Pembolehubah Go Ditimpa Kerana Salah Faham Slice?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!