Go语言 迭代[]符文|泛型中传递的字符串

hrirmatl  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(134)

我使用的泛型具有以下约束规则:

type LineParser[T []rune | string] struct {
}

我有这个结构的泛型方法:

func (it *LineParser[T]) Parser(line T)

在该方法中,我想迭代该行,但遇到以下错误:
无效操作:无法分割行(受[]rune约束的T类型变量|string):T没有核心类型
有什么建议吗?

o2g1uqev

o2g1uqev1#

在迭代之前将line值转换为[]rune值。这样,该方法的每个示例都将在同一类型上迭代。

type LineParser[T []rune | string] struct {}

func (it *LineParser[T]) Parser(line T) {
    for _, r := range []rune(line) {
        // do something with the next rune
        _ = r
    }
}

相关问题