我的意图是读取文本文件,并在控制台上打印记录。示例文本文件格式
美国广播公司 123
测试zzz
你好世界
我正在使用字节数组来初始化我的结构。但是,当我在拆分读取行后尝试打印时,将为拆分后获得的第二个令牌打印空白值
package main
import (
"fmt"
"bufio"
"os"
"strings"
"io/ioutil"
)
type person struct {
fName [20]byte
lName [20]byte
}
func main(){
reader := bufio.NewReader(os.Stdin)
fmt.Printf("Enter Name ")
fname, _ := reader.ReadString('\n')
fname = strings.Replace(fname, "\n", "", -1)
fname = strings.Replace(fname, "\r", "", -1)
readFile, err := ioutil.ReadFile(fname)
if err != nil {
panic(err)
}
s := string(readFile)
fileTextLines := strings.Split(s, "\n")
sli := make([]person, len(fileTextLines))
for _, eachline := range fileTextLines {
res1 := strings.Split( eachline, " ")
var fname [20]byte
copy( fname[:], []byte(res1[0] ))
fmt.Println(string(fname[:]))
var lname [20]byte
copy( lname[:], []byte(res1[1] ) )
fmt.Println(string(lname[:]))
p := person{fname ,lname}
sli = append(sli,p)
}
// print the slice
// for _,object := range sli {
// fmt.Printf("First Name: %s Last Name: %s\n", string(object.fName[:]), string(object.lName[:]))
// }
}
使用建议的方法,我得到了以下输出
Last Name: 123
Last Name: zzz
名字:你好姓氏:世界
慕尼黑8549860
森栏
相关分类