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

标签 arrays string go

我有一个整数矩阵,由一个多元数组表示。我正在尝试将数字逐行连接成字符串表示形式。我天真的方法是遍历矩阵中的所有条目并将它们附加到空字符串。

但是,我的追加函数出现错误:

./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)
}

我对数组、 slice 和连接有什么误解,我如何正确地迭代构建这个字符串?

最佳答案

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

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)
}

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

关于arrays - 在 golang 中将矩阵打印为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52451775/

相关文章:

c - 指向引用加上数组之一的指针

arrays - 解析 JSON Swift 4

php - 如何从数组变量PHP中获取指定列到动态变量中

php - 我如何在mysql中放置一个数组?

php - strcmp vs. == vs. === 在 PHP 中用于检查散列相等性

google-app-engine - App Engine Go 中的无条件查询

docker - golang、docker、gradle的项目结构

c# - 从 C# 字符串中删除不属于特定代码页的字符

Python:将十六进制字符串转换为 int 并返回

go - DevOps Services 测试无法在 BlueMix/hub.jazz 中使用 Go