首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >GoLang字符串为空

GoLang字符串为空
EN

Stack Overflow用户
提问于 2018-08-23 04:36:58
回答 1查看 702关注 0票数 -3

以下是我的代码;

我将字段和值传递给一个名为insert()的方法,其中的值分别填充到字符串数组Fields[]Values[]中。字符串数组变量Fields[]Values[]将填充到insert()中。但是当我在main方法中打印相同的内容时,它们是空的。我希望保留这些值。

我该如何实现这一点?请让我知道。

谢谢

代码:

代码语言:javascript
复制
package main

import (
    "fmt"
    "strings"
    "strconv"
)

var Field string = "text,text,text,text"
var Value string = "1,2,3,4"
var num int = 4
var Fields[]  string
var Values[]  string


func 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)

        }   
}

以下是输出;

代码语言:javascript
复制
Fields from insert(): [text text text text]
Values from insert(): [1 2 3 4]
Fields from main(): []
Values from main(): []
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-23 04:42:33

insert中,您可以:

代码语言:javascript
复制
            Fields := make([]string, num)
            Values := make([]string, num)

这定义了两个新的局部变量,它们“隐藏”了全局变量。记住,:=在一次操作中定义并赋值一个变量。要获得你想要的行为,只需分配给你的全局变量,而不是重新定义它们:

代码语言:javascript
复制
            Fields = make([]string, num)
            Values = make([]string, num)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51974735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档