douyong1908
2019-06-18 16:03
浏览 815
已采纳

在Golang中访问for循环之外的变量

I'm trying to read a CSV file to store the values in a variable. However, I couldn't access the variables outside of the for loop

func GetKeys(filename string) {
    var record []string
    var err error
    file, err := os.Open(filename)
    if err != nil {
        log.Fatal(err)
    }
    defer file.Close()
    // Create a new reader.
    reader := csv.NewReader(bufio.NewReader(file))
    for {
        record, err = reader.Read()
        // Stop at EOF.
        if err == io.EOF {
            break
        }
        fmt.Printf("%v", record) // works fine
        fmt.Printf("%v
", record[0]) // works fine too
    }
    fmt.Printf("%v
", record) // returns empty slice
}

func main() {
    GetKeys("credentials.csv")
}

图片转代码服务由CSDN问答提供 功能建议

我正在尝试读取CSV文件以将值存储在变量中。 但是,我无法访问for循环之外的变量

  func GetKeys(文件名字符串){
 var record [] string 
 var err error 
 file  ,err:= os.Open(filename)
 if err!= nil {
 log.Fatal(err)
} 
延迟file.Close()
 //创建一个新的阅读器。
 reader:  = csv.NewReader(bufio.NewReader(file))
用于{
记录,err = reader.Read()
 //在EOF处停止。
如果err == io.EOF {
 break 
  } 
 fmt.Printf(“%v”,record)//正常工作
 fmt.Printf(“%v 
”,record [0])//也可以正常
} 
 fmt.Printf(  “%v 
”,记录)//返回空片
} 
 
func main(){
 GetKeys(“ credentials.csv”)
} 
   
  
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题