我想知道為什么我的函數(shù)不返回這些行。我正在使用閉包,我的目標(biāo)是顯示解碼文本中的每一行。我能夠使用 Python 實(shí)現(xiàn)這一目標(biāo)。這是我的 Python 代碼:def get_line(): lines = base64_decode() index = 0 def closure(): nonlocal index def go_next(): nonlocal index next_line = line[index] index += 1 return next_line if index != len(lines): return go_next() else: index = 0 return go_next() return closure這是我的代碼:package mainimport ( "encoding/base64" "fmt" "log" "strings")func base64Decode() string { str := "REDACTED" data, err := base64.StdEncoding.DecodeString(str) if err != nil { log.Fatal("Error:", err) } return string(data)}func getLine(str string) func() string { i := 0 lines := strings.Split(str, "\n") return func() string { if i != len(lines) { nextLine := lines[i] i++ return nextLine } return "" }}func main() { fmt.Println(getLine(base64Decode()))}當(dāng)我運(yùn)行它時(shí)會(huì)發(fā)生什么,它只打?。?x1095850而不是This is the first line從文本中打印。
1 回答

森欄
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
您必須調(diào)用該函數(shù):
func main() { fmt.Println(getLine(base64Decode())()) }
- 1 回答
- 0 關(guān)注
- 115 瀏覽
添加回答
舉報(bào)
0/150
提交
取消