遍历在泛型中传递的[]符文|字符串



我正在使用约束规则的泛型:

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

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

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

在这个方法中,我想迭代这一行,但是我得到了这个错误:

无效操作:不能切片行(类型为T的变量受[]rune|string约束):T没有核心类型

有什么建议吗?

在迭代之前将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
}
}

最新更新