如何像python那样在go中打印ascii文本

如何像python那样在go中打印ascii文本,go,ascii,Go,Ascii,如何像python那样用go语言打印ascii文本 如下图所示 使用python 使用Golang 问题在于文本中包含反勾号(`),它恰好是golang原始字符串文本的分隔符。这种情况与您的python代码相当,因为您的文本包含3个连续的双引号,这是python代码中使用的分隔符 在不修改ascii文本的情况下,我看不到任何快速摆脱这种情况的方法,因为golang中的原始字符串分隔符没有python中的其他选项。您可能希望将ascii文本存储在文本文件中并从中读取: import (

如何像python那样用go语言打印ascii文本 如下图所示

使用python

使用Golang


问题在于文本中包含反勾号(
`
),它恰好是golang原始字符串文本的分隔符。这种情况与您的python代码相当,因为您的文本包含3个连续的双引号,这是python代码中使用的分隔符

在不修改ascii文本的情况下,我看不到任何快速摆脱这种情况的方法,因为golang中的原始字符串分隔符没有python中的其他选项。您可能希望将ascii文本存储在文本文件中并从中读取:

import (
    ....
    ....
    "io/ioutil"
)

func banner() string {
    b, err := ioutil.ReadFile("ascii.txt")
    if err != nil {
        panic(err)
    }
    fmt.Println(string(b))
}
如果对ascii文本源稍作修改即可,则可以临时使用ascii文本中其他地方未使用的其他字符来表示反勾号,然后执行字符串替换以将实际反勾号放置到位。或者,您可以使用
fmt.Sprintf
提供有问题的反勾号:

ascii := fmt.Sprintf(`....%c88b...`, '`')
fmt.Println(ascii)
// output:
// ....`88b...

是的,但您必须使用反勾号拆分行,并将它们引用到标准双引号中。“

...  +
“888 6(,   ` ‘ “ + 
...

尝试一下:您应该始终以开发人员可以轻松复制和粘贴代码的方式提供代码。无论是为了方便调试还是为了运行代码本身。显示代码的图像不容易处理。例如我打算向您展示一个使用
fmt.Sprintf()
的解决方案,但我不打算键入上面的内容……感谢您的帮助,我刚刚找到了一个不包含反勾字符的ascii文本样式。这个问题已经解决了。