登录
首页 >  Golang >  Go问答

使用 GraphQL SDL 语言,在 schema.graphqls 文件中如何表示 *string 类型定义?

来源:stackoverflow

时间:2024-02-05 22:06:23 412浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《使用 GraphQL SDL 语言,在 schema.graphqls 文件中如何表示 *string 类型定义?》,以下内容主要包含等知识点,如果你正在学习或准备学习Golang,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

问题内容

我正在创建一个 graphql api,但在使用 golang 的 gqlgen 时遇到问题,我需要表示这一点:

type pets struct  {
    multiean  *[]string
}

或多或少:

type pets  {
    multiean: [string!]
}

我的想法是当我运行命令时:

go run github.com/99designs/gqlgen generate

我得到了框架给出的 golang 结构表示,但没有得到我需要的 *[]string 指针,我只得到了 []string 的原始切片,关于如何解决它有什么想法吗?


正确答案


gqlgen 会为您生成 go 结构,因此您必须使用它提供的内容。说我希望它在给定 graphql 模式的情况下生成其他内容是没有意义的。您可以调整架构以获得不同的类型,但实际上您设计了架构,然后使用 gqlgen 从中生成的类型。

也就是说,如果您的 multiean 解析器应该可为空,那么您需要额外的感叹号 (!):

type Pets  {
    multiEan: [String!]!
}

但是,由于 go 切片是引用类型(可以分配 nil),这仍然不会生成指向切片的指针。如果您需要在其他地方使用指向切片的指针,那么您只需获取它的地址即可。也许您可以分享更多代码,以便我们可以了解您想要做什么。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用 GraphQL SDL 语言,在 schema.graphqls 文件中如何表示 *string 类型定义?》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>