golang 编程笔记

【golang】利用fmt包的scanf()方法把文件里面内容映

2020-04-13  本文已影响0人  dongzd

问题

在项目中,我们可能把一些数据存储在文件中当元数据,这些文件不像yml、json等文件有一定解码规则,如自定义一个txt文件,里面有:

东哥
27
苏州

我们想直接读取处理,赋予指定的变量,传统方式利用read一行一行读取,指定读取的分隔符去对应变量,这种方式繁琐且遇到复制的txt格式很难处理,本文介绍使用fmt.Fscanf方法:

    var name string
    var age uint32
    var area string
    f, err := os.OpenFile("test.txt", os.O_RDONLY, 0600)
    if err != nil {
        panic("文件打开失败")
    }
    defer f.Close()
        // "%s\n%d\n%s" 为txt中内容格式,根据实际情况而定
    _, errf := fmt.Fscanf(f, "%s\n%d\n%s", &name, &age, &area)
    if errf != nil {
        panic("映射失败")
    }
    fmt.Println(name, age, area)

输出:

东哥 27 苏州
上一篇下一篇

猜你喜欢

热点阅读