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

println 在 go 中变成空字符串

println 在 go 中变成空字符串

Go
catspeake 2021-12-07 10:40:59
所以我写了这个小的 go 程序,它向图灵机提供指令,并从中打印选定的单元格:    package mainimport "fmt"import s "strings"func main() {  fmt.Println(processturing("> > > + + + . ."));}func processturing(arguments string) string{    result := ""    dial := 0    cells := make([]int, 30000)    commands := splitstr(arguments, " ")    for i := 0;i<len(commands);i++ {        switch commands[i] {        case ">":            dial += 1        case "<":            dial -= 1        case "+":            cells[dial] += 1        case "-":            cells[dial] -= 1        case ".":            result += string(cells[dial]) + " "        }    }    return result}//splits strings be a delimeterfunc splitstr(input, delim string) []string{    return s.Split(input, delim)}问题是,当它运行时,控制台不显示任何内容。它只是什么都不显示。我如何使这个对fmt.println我的函数的结果字符串起作用?
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

表达方式

 string(cells[dial])

产生整数值的 UTF-8 表示cells[dial]。打印带引号的字符串输出以查看发生了什么:

    fmt.Printf("%q\n", processturing("> > > + + + . .")) // prints "\x03 \x03 "

我想你想要整数的十进制表示:

 strconv.Itoa(cells[dial])

操场示例


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 189 浏览
慕课专栏
更多

添加回答

举报

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