String 获取文件中最后一行的下一行
我找到了一种方法来读取文件中的最后一行,但我的文件中的最后一行是空的,我需要读取最后一行的下一行,我不知道怎么做,请帮助一下String 获取文件中最后一行的下一行,string,go,String,Go,我找到了一种方法来读取文件中的最后一行,但我的文件中的最后一行是空的,我需要读取最后一行的下一行,我不知道怎么做,请帮助一下 func ll(z string) string { f, err := os.Open(z) if err != nil { log.Fatal(err) } bf := bufio.NewReader(f) for { switch line, err := bf.ReadString('\n'
func ll(z string) string {
f, err := os.Open(z)
if err != nil {
log.Fatal(err)
}
bf := bufio.NewReader(f)
for {
switch line, err := bf.ReadString('\n'); err {
case nil:
// valid line, echo it. note that line contains trailing \n.
fmt.Println(line)
case io.EOF:
if line > "" {
// last line of file missing \n, but still valid
fmt.Println(line, "in func")
}
return line
default:
log.Fatal(err)
}
}
}
每次迭代只需保存当前行,这样当遇到最后一行时,就可以返回
prev\u line
:
func next_to_last(z string) string {
f, err := os.Open(z)
if err != nil {
log.Fatal(err)
}
bf := bufio.NewReader(f)
prev_line := ""
for {
switch line, err := bf.ReadString('\n'); err {
case nil:
// valid line, echo it. note that line contains trailing \n.
fmt.Println(line)
prev_line = line // Save line as previous
case io.EOF:
if line > "" {
// last line of file missing \n, but still valid
fmt.Println(line, "in func")
}
return prev_line // Return previous line
default:
log.Fatal(err)
}
}
}
每次迭代只需保存当前行,这样当遇到最后一行时,就可以返回
prev\u line
:
func next_to_last(z string) string {
f, err := os.Open(z)
if err != nil {
log.Fatal(err)
}
bf := bufio.NewReader(f)
prev_line := ""
for {
switch line, err := bf.ReadString('\n'); err {
case nil:
// valid line, echo it. note that line contains trailing \n.
fmt.Println(line)
prev_line = line // Save line as previous
case io.EOF:
if line > "" {
// last line of file missing \n, but still valid
fmt.Println(line, "in func")
}
return prev_line // Return previous line
default:
log.Fatal(err)
}
}
}
您可以将每一行放入一个切片,然后打印[len(slice)-2]您可以将每一行放入一个切片,然后打印[len(slice)-2]