我在阅读具有固定列长格式的文件时遇到了一些麻烦.有些列可能包含变音符号.
变音符号似乎使用2个字节而不是1个字节.这不是我期待的行为.是否有任何类型的函数返回子字符串?在这种情况下,切片似乎不起作用.
这是一些示例代码:
http://play.golang.org/p/ZJ1axy7UXe
umlautsString := "Rhön"
fmt.Println(len(umlautsString))
fmt.Println(umlautsString[0:4])
Run Code Online (Sandbox Code Playgroud)
打印:
5
Rhö
Run Code Online (Sandbox Code Playgroud) 是否可以将HList作为函数参数传递?
这是我到目前为止:
import shapeless._
import poly._
object id extends (Id ~> Id) {
def apply[T](f: shapeless.Id[T]): shapeless.Id[T] = f
}
object ListHandler {
def mapOverHlist[ListType <: HList](list: ListType) = list.map(id)
}
val x = "foo" :: "bar" :: 0xb33f :: HNil
ListHandler.mapOverHlist(x)
Run Code Online (Sandbox Code Playgroud)
导致此错误:
could not find implicit value for parameter mapper:
shapeless.ops.hlist.Mapper[ShapelessSpec.this.id.type,ListType]
Run Code Online (Sandbox Code Playgroud)