解析文件中的每一行后,scan.Text()的类型是什么?

时间:2017-03-23 14:13:09

标签: go

我目前正在使用以下输入阅读文本文件123 456 789

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    file, err := os.Open("input.txt")
    if err != nil {
        log.Fatal(err)
    }   
    defer file.Close()

    scanner := bufio.NewScanner(file)
    count := 0
    var line string
    for scanner.Scan() {
        count += 1
        line = scanner.Text()
        fmt.Println(line)
        if line == "123" {
            fmt.Println("EQUAL")
        }   
    }
}

解析它的代码是:

123

为什么文件的第一行与代码中的硬编码字符串{{1}}不匹配?

1 个答案:

答案 0 :(得分:1)

正如评论中所提到的,这是由于文件中的特殊字符。在这种情况下,utf8 bom,但可能是dos格式\r,或其他不可打印的字符。