以下是我的代碼;我將 Field 和 Values 傳遞給一個名為 的方法insert(),其中的值分別填充到字符串數(shù)組Fields[] 和中Values[] 。字符串數(shù)組變量Fields[] 和Values[]正在填充到insert(). 但是當我在 main 方法中打印相同的內容時,它們是空的。我希望保留這些值。我如何實現(xiàn)這一目標?請告訴我。謝謝代碼:package mainimport ( "fmt" "strings" "strconv")var Field string = "text,text,text,text"var Value string = "1,2,3,4"var num int = 4var Fields[] stringvar Values[] stringfunc main() { insert(Field, Value) fmt.Println("Fields from main():", Fields) fmt.Println("Values from main():", Values)}func insert(Field string, Value string){ if Field != "" && Value != "" { c := 0 Fields := make([]string, num) Values := make([]string, num) field := strings.Split(Field, ",") value := strings.Split(Value, ",") for i := range field { Fields[c] = field[i] c = c + 1 } c = 0 for j := range value { Values[c] = value[j] c = c + 1 } fmt.Println("Fields from insert():", Fields) fmt.Println("Values from insert():", Values) } }以下是輸出;Fields from insert(): [text text text text]Values from insert(): [1 2 3 4]Fields from main(): []Values from main(): []
1 回答

楊魅力
TA貢獻1811條經驗 獲得超6個贊
在insert
你有:
Fields := make([]string, num) Values := make([]string, num)
這定義了兩個新的局部變量,它們“遮蔽”了全局變量。請記住,在一個操作中:=
定義和分配一個變量。要獲得您想要的行為,只需分配給您的全局變量而不是重新定義它們:
Fields = make([]string, num) Values = make([]string, num)
- 1 回答
- 0 關注
- 209 瀏覽
添加回答
舉報
0/150
提交
取消