扣丁书屋

Go开发报错 -- Golang strings.Builder type undefined

在Go开发中,Go语言版本 go 1.10 以下版本,使用strings.Builder报错的原因及处理方案。

在Go开发中,Go语言版本 go 1.10 以下版本,使用strings.Builder报错

I was having a problem with the strings.Builder type in GO.

Attempted to run the example code verbatim and GO still responds with:

undefined: strings.Builder

Any clues as to what the problem can be, there's been not other problems at all.

package main

import (
    "fmt"
    "strings"
)

func main() {

    var b strings.Builder
    for i := 3; i >=1; i-- {
        fmt.Fprintf(&b, "%x...", i)
    }
    b.WriteString("ignition")
    fmt.Println(b.String())
}

报错:

undefined: strings.Builder

原因: strings.Builder 是 go 1.10 版本才新加入的 , 所以解决方法有以下两个。

  • (一)使用 go 1.10 + 以后版本。
  • (二)继续使用 go 1.10 以前版本;但是将strings.Builder替换为bytes.Buffer。

回答:

strings.Builder was added in Go 1.10 (released 2018-02-16, 9 days ago at the time of writing). If you are building using an older version of Go, it won't be available. If must working with older Go version, you can use bytes.Buffer instead


手机扫码阅读