2017-10-21 83 views
-5

如何打印像蟒蛇去语言ASCII文本并显示 像下面的图片如何打印的ASCII文本中去像Python做

使用Python

enter image description here

使用Golang

enter image description here

+0

试试这个:https://stackoverflow.com/a/4424560/8307258 –

+0

你应该总是以这样的方式,开发人员可以将其复制并粘贴容易提供代码。无论是为了方便调试还是自己运行代码。显示代码的图片并不容易处理。例如。我正准备用'fmt.Sprintf()'向你展示一个解决方案,但是我不打算将上面的输出结果输出到... – reticentroot

回答

-1

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

我没有看到这种情况任何快速逃离,而无需修改您的ASCII文本,因为我们没有在golang原始字符串分隔符其他选项就像我们在蟒蛇。您可能需要您的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... 
+0

谢谢你的帮助, 我刚刚发现一个ascii文本样式包含反引号字符。 这个问题已经解决了。 –

0

是,但你必须拆分与反引号线,并把它们引到标准的双引号

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