php小編新一在這裡為大家介紹一項新的特性-Go 冒號等於運算子和一個新變數。這個運算子的作用是在Go語言中建立一個新的變量,同時將其初始化為一個表達式的值。這個特性的引進使得程式碼更加簡潔易讀,同時也減少了冗餘的程式碼量。透過使用冒號等於運算符,我們可以在宣告變數的同時為其賦值,提高了程式碼的效率和可讀性。在接下來的文章中,我們將詳細介紹這個新功能的用法和注意事項,希望能帶給大家幫助和啟發。
這可能不是一個新問題,但我找不到任何地方答案。
使用此程式碼,在循環內的函數呼叫線上,:=
或 =
運算子都不起作用。
我有一個用例,我需要在 for 循環之外聲明一次大數組並在函數中更新,然後傳回。但該函數還傳回另一個變量,該變量每次都不同並在該循環內使用。
去遊樂場連結:1
import "fmt" func someFunc(names []string) (int, []string) { foo := 35 // Just for the example names = append(names, "Bob") return foo, names } func main() { names := []string{"Fred", "Mary"} for i := 0; i < 10; i++ { newVariable, names := someFunc(names) // This line is the problem fmt.Println(newVariable) } }
如何重構它以使其按預期工作?
在 := 之前宣告 newVariable 怎麼樣?
for i := 0; i < 10; i++ { var newVariable int newVariable, names = someFunc(names) fmt.Println(newVariable) }
以上是Go 冒號等於運算子和一個新變量的詳細內容。更多資訊請關注PHP中文網其他相關文章!