Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membetulkan ralat `jenis rekursif Tarea` tidak sah apabila cuba menjadikan `subtareas` penunjuk kepada `ListaDeTareas` dalam Go?

Bagaimana untuk membetulkan ralat `jenis rekursif Tarea` tidak sah apabila cuba menjadikan `subtareas` penunjuk kepada `ListaDeTareas` dalam Go?

王林
王林ke hadapan
2024-02-11 12:30:09452semak imbas

当尝试在 Go 中使 `subtareas` 成为指向 `ListaDeTareas` 的指针时,如何修复 `invalid recursive type Tarea` 错误?

Apabila menggunakan bahasa Go, apabila kami cuba mengisytiharkan `subtarea` sebagai penunjuk kepada `ListaDeTareas`, kami mungkin menghadapi ralat `jenis rekursif Tarea` yang tidak sah. Ini kerana bahasa Go mempunyai beberapa had pada pemprosesan jenis rekursif, yang memerlukan kami membuat beberapa pembaikan. Terdapat banyak cara untuk menyelesaikan masalah ini. Kita boleh menggunakan jenis antara muka atau struktur bersarang untuk menyelesaikan masalah ini. Di bawah saya akan terperinci bagaimana untuk membetulkan ralat ini.

Kandungan soalan

Saya memerlukan subtarea dalam struct tarea sebagai penunjuk kepada listadetareas tetapi ia tidak berfungsi. Saya ada invalid 递归类型 tarea

type Tarea struct {
    nombre    string
    duracion  float32

    subtareas *ListaDeTareas
}

type ListaDeTareas[T Tarea] struct {
    elementos listadetareas.LinkedList[Tarea]
}

Penyelesaian

Nampaknya anda tidak berada di sini listadetareas 中使用类型参数 t. Mengeluarkannya akan menyelesaikan masalah.

type Tarea struct {
    nombre    string
    duracion  float32

    subtareas *ListaDeTareas
}

type ListaDeTareas struct {
    elementos listadetareas.LinkedList[Tarea]
}

Atas ialah kandungan terperinci Bagaimana untuk membetulkan ralat `jenis rekursif Tarea` tidak sah apabila cuba menjadikan `subtareas` penunjuk kepada `ListaDeTareas` dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam