我是 Go 新手,我试图通过解析 csv 文件的第一行来获取列名。当我将字符串的值与预期的字符串值进行比较时,比较表明它们不相等,我不知道为什么。当我打印字节值时,我注意到解析字符串的开头有 3 个额外的字节。这似乎只发生在第一列的第一行,它告诉我它与文件格式有关?我不确定,我没有在 CSV go 参考中看到任何内容。如果这是一个“愚蠢”的问题,我提前道歉。测试.csv:姓名,邮政编码,foo约翰,91201,等等玛丽,98108,嗯,鲍勃,12345,嘘package mainimport ( "encoding/csv" "fmt" "os")func main() { var file, err = os.Open("test.csv") if err != nil{ fmt.Errorf("Error opening File") } reader := csv.NewReader(file) record, err := reader.Read() if err != nil{ } val := record[0] for i := 0; i<len(val); i++{ fmt.Printf("%x ", val[i]) } name := "name" fmt.Println(" ") for i := 0; i<len(name); i++{ fmt.Printf("%x ", name[i]) } if val != "name"{ fmt.Println("Did not match name") } else { fmt.Println("found it!") }}输出如下所示:ef bb bf 6e 61 6d 65 6e 61 6d 65 Did not match name“ef bb bf”从何而来?
添加回答
举报
0/150
提交
取消