我使用的泛型具有以下约束规则:
type LineParser[T []rune | string] struct { }
我有这个结构的泛型方法:
func (it *LineParser[T]) Parser(line T)
在该方法中,我想迭代该行,但遇到以下错误:无效操作:无法分割行(受[]rune约束的T类型变量|string):T没有核心类型有什么建议吗?
o2g1uqev1#
在迭代之前将line值转换为[]rune值。这样,该方法的每个示例都将在同一类型上迭代。
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 } }
1条答案
按热度按时间o2g1uqev1#
在迭代之前将
line
值转换为[]rune
值。这样,该方法的每个示例都将在同一类型上迭代。