为了账号安全,请及时绑定邮箱和手机立即绑定

需要将使用“exp/utf8string”的代码翻译成以后的标准库代码

需要将使用“exp/utf8string”的代码翻译成以后的标准库代码

Go
当年话下 2021-08-01 04:12:39
我正在尝试运行The Go Programming Language Phrasebook 中的一个示例——这本书是在 2012 年编写的,基于 Go 1.0。该示例使用了exp/utf8string现在已成为unicode/utf8. 我目前使用的是 Go 1.2.1 并且下面列出的代码不会按原样编译,因为该exp/utf8string包现已失效:package mainimport "strings"import "unicode"import "exp/utf8string"import "fmt"func main(){    str := "\tthe important rôles of utf8 text\n"    str = strings.TrimFunc(str, unicode.IsSpace)    // The wrong way    fmt.Printf("%s\n", str[0:len(str)/2])    // The right way    u8 := utf8string.NewString(str)    FirstHalf := u8.Slice(0, u8.RuneCount()/2)    fmt.Printf("%s\n", FirstHalf)}我仍然是一个 GoLang 新手,所以我不确定旧的实验包是如何集成到标准库中的。我做了一些研究,发现utf8string.NewString(str)现在是expvar.NewString(str),所以我将导入更改为expvarunicode并适当修改了代码以调用expvar.NewString(str),但我仍然收到两个错误:u8.Slice undefined (type *expvar.String has no field or method Slice)u8.RuneCount undefined (type *expvar.String has no field or method RuneCount)我尝试了几种不同的方法,但似乎无法让它发挥作用。应该如何为 GoLang 1.2.1 编写此示例代码?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 193 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信