Rumah > pembangunan bahagian belakang > Golang > Mengapa Adakah Go Memberi Ralat \'err declared and not used\'?

Mengapa Adakah Go Memberi Ralat \'err declared and not used\'?

DDD
Lepaskan: 2024-11-17 01:30:03
asal
403 orang telah melayarinya

Why Does Go Give the Error

Pembolehubah Tidak Digunakan dalam Go: Diterangkan

Mesej ralat "err declared and not used" ialah isu kompilasi biasa dalam Go. Ia timbul apabila pembolehubah diisytiharkan tetapi tidak digunakan dalam skop. Untuk memahami isu ini, mari kita mendalami coretan kod yang diberikan:

package main

import (
    "fmt"
)

func main() {
    var (
        err error
        dto = make(map[string]interface{})
    )

    dto[`thing`], err = getThings()
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}
Salin selepas log masuk

Dalam kod ini, pembolehubah err diisytiharkan tetapi tidak digunakan untuk mengendalikan sebarang ralat. Akibatnya, pengkompil mengeluarkan ralat "diisytiharkan dan tidak digunakan". Ia bukan isu skop atau bayangan, kerana pembolehubah ralat diisytiharkan dengan betul dalam fungsi utama.

Menurut Soalan Lazim Go, kehadiran pembolehubah yang tidak digunakan boleh menunjukkan potensi pepijat. Walau bagaimanapun, import yang tidak digunakan hanya melambatkan penyusunan. Pembolehubah yang diisytiharkan mesti digunakan dan dalam kes ini, ralat tidak ditetapkan atau digunakan untuk pengendalian ralat.

Salah satu cara untuk menangani perkara ini adalah dengan memintas semakan ralat:

var _ = err
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan err untuk pengendalian ralat sebenar:

if err != nil {
    fmt.Println(err.Error())
    return
}
Salin selepas log masuk

Walau bagaimanapun, ia biasanya dinasihatkan untuk menggunakan ralat untuk semakan ralat dan bukannya hanya memberikannya.

Kesimpulannya, ralat "err diisytiharkan dan tidak digunakan" timbul apabila pembolehubah diisytiharkan tetapi tidak digunakan dalam skopnya. Ini boleh diselesaikan dengan sama ada memintas pemeriksaan ralat atau menggunakan pembolehubah untuk tujuan yang dimaksudkan, seperti pengendalian ralat.

Atas ialah kandungan terperinci Mengapa Adakah Go Memberi Ralat \'err declared and not used\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan