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

在 golang 中将矩阵打印为字符串

在 golang 中将矩阵打印为字符串

Go
qq_花开花谢_0 2023-04-10 10:15:02
我有一个整数矩阵,由一个多元数组表示。我正在尝试将数字逐行连接成字符串表示形式。我天真的方法是遍历矩阵中的所有条目并将它们附加到空字符串。但是,我收到一个错误,我的追加函数说:./main.go:xx:yy: first argument to append must be slice; have string我的代码是:type MatString string type IntMat [3][3]Int // external constraints require fixed size, symmetric.func Matrix2String(t IntMat) MatString {    // s var string    s := ""    for i := range t {        for j := range t[i] {            s = append(s[:], fmt.Sprintf("%s", j))            // fmt.Sprintf(s)        }    }    return MatString(s)}我对数组、切片和连接有什么误解,我如何正确地迭代构建这个字符串?
查看完整描述

2 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

收集一段字符串中的元素。加入切片以产生结果。


func Matrix2String(t IntMat) MatString {

    var s []string

    for i := range t {

        for _, n := range t[i] {

            s = append(s, fmt.Sprintf("%d", n))

        }

    }

    return MatString(strings.Join(s, ""))

}

另一种方法是在 []byte 中构建字符串并在末尾进行转换:


func Matrix2String(t IntMat) MatString {

    var s []byte

    for i := range t {

        for _, n := range t[i] {

            s = strconv.AppendInt(s, int64(n), 10)

        }

    }

    return MatString(s)

}

我没有包含任何分隔符,因为问题不包含它们。


查看完整回答
反对 回复 2023-04-10
?
哔哔one

TA贡献1854条经验 获得超8个赞

您可以简单地将转换后的整数连接到字符串,以响应


func Matrix2String(t IntMat) MatString {

    s := ""


   for i := range t {

      for _, n := range t[i] {

          s += fmt.Sprintf("%d", n)

      }

   }


    return MatString(s)

}

查看完整回答
反对 回复 2023-04-10
  • 2 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

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