1
我正在將Python函數轉換爲Go。它使用的列表理解我認爲在Go中不可用。把它翻譯成Go的最好方法是什麼?Go列表中的Python列表理解
def list1s():
return ["10." + str(x) + "." + str(y) + ".1" for x in range(192, 256) for y in range(0, 256)]
我正在將Python函數轉換爲Go。它使用的列表理解我認爲在Go中不可用。把它翻譯成Go的最好方法是什麼?Go列表中的Python列表理解
def list1s():
return ["10." + str(x) + "." + str(y) + ".1" for x in range(192, 256) for y in range(0, 256)]
只需使用explicit for循環。但是,你不應該試圖簡單地將你在一種語言中做什麼翻譯成另一種語言。
func list1s() []string {
res := make([]string, 0, 256*64)
for x := 192; x < 256; x++ {
for y := 0; y < 256; y++ {
res = append(res, fmt.Sprintf("10.%d.%d.1", x, y))
}
}
return res
}
我想你的建議,以避免語言之間的簡單翻譯意味着這個代碼是不是慣用的是嗎?誠實的好奇心,我一無所知。 –
@Paulo Scardine它是。但是,當用一種語言寫作時,你必須考慮如何解決這種語言的問題,而不是另一種語言,然後翻譯。 –