2017-10-21 135 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(, ` ‘ 「 + 
...