请教一个 golang 的泛型问题

查看 31|回复 0
作者:wtfedc   
golang 的 openai package 有这么几段
type ChatCompletionStreamResponse struct {
        ID      string                       `json:"id"`
        Object  string                       `json:"object"`
        Created int64                        `json:"created"`
        Model   string                       `json:"model"`
        Choices []ChatCompletionStreamChoice `json:"choices"`
}
type CompletionResponse struct {
        ID      string             `json:"id"`
        Object  string             `json:"object"`
        Created int64              `json:"created"`
        Model   string             `json:"model"`
        Choices []CompletionChoice `json:"choices"`
        Usage   Usage              `json:"usage"`
}
type streamable interface {
        ChatCompletionStreamResponse | CompletionResponse
}
type streamReader[T streamable] struct {
        emptyMessagesLimit uint
        isFinished         bool
        reader         *bufio.Reader
        response       *http.Response
        errAccumulator errorAccumulator
        unmarshaler    unmarshaler
}
有两个问题:
[ol]
  • ChatCompletionStreamResponse | CompletionResponse 中的 struct 之间的表达式还能用|?是只能在 interface 中用吗?
  • streamReader 的 泛型 T ,只在形参( T 不是参数,这个表达不对,大概想这个意思,你懂我)声明,struct 内部没用到啊,这么玩意义何在
    [/ol]
    项目地址
    go-openai
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部