首页 >后端开发 >Golang >当尝试在 Go 中使 `subtareas` 成为指向 `ListaDeTareas` 的指针时,如何修复 `invalid recursive type Tarea` 错误?

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

王林
王林转载
2024-02-11 12:30:09465浏览

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

在使用 Go 语言时,当我们尝试将 `subtareas` 声明为指向 `ListaDeTareas` 的指针时,可能会遇到 `invalid recursive type Tarea` 错误。这是因为 Go 语言对于递归类型的处理有一些限制,需要我们进行一些修复。解决这个问题的方法有多种,我们可以使用接口类型或者结构体嵌套等方式来解决这个问题。下面我将详细介绍如何修复这个错误。

问题内容

我需要 struct tarea 中的 subtareas 作为指向 listadetareas 的指针,但不起作用。我有 invalid 递归类型 tarea

type Tarea struct {
    nombre    string
    duracion  float32

    subtareas *ListaDeTareas
}

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

解决方法

您似乎没有在 listadetareas 中使用类型参数 t。删除它即可解决问题。

type Tarea struct {
    nombre    string
    duracion  float32

    subtareas *ListaDeTareas
}

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

以上是当尝试在 Go 中使 `subtareas` 成为指向 `ListaDeTareas` 的指针时,如何修复 `invalid recursive type Tarea` 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除