93_Go基础_1_61 偏移量 seek
1 package main 2 3 import ( 4 "fmt" 5 "io" 6 "log" 7 "os" 8 ) 9 10 func main() { 11 /* 12 Seek(offset int64, whence int) (int64, error),设置指针光标的位置 13 第一个参数:偏移量 14 第二个参数:如何设置 15 0:seekstart,表示相对于文件开始 16 1:seekcurrent,表示相对于当前位置的偏移量 17 2:seekend,表示相对于末尾 18 19 20 // Seek whence values. 21 const ( 22 SeekStart = 0 // seek relative to the origin of the file 23 SeekCurrent = 1 // seek relative to the current offset 24 SeekEnd = 2 // seek relative to the end 25 ) 26 */ 27 fileName := "D:\\Go\\web2\\aa.txt" 28 file, err := os.OpenFile(fileName, os.O_RDWR, os.ModePerm) 29 if err != nil { 30 log.Fatal(err) 31 } 32 defer file.Close() 33 34 // 读写 35 bs := []byte{0} 36 file.Read(bs) 37 fmt.Println(string(bs)) // a 38 39 file.Seek(4, io.SeekStart) 40 file.Read(bs) 41 fmt.Println(string(bs)) // e 42 43 file.Seek(2, 0) // SeekStart 44 file.Read(bs) 45 fmt.Println(string(bs)) // c 46 47 file.Seek(3, io.SeekCurrent) 48 file.Read(bs) 49 fmt.Println(string(bs)) // g 50 51 file.Seek(0, io.SeekEnd) 52 file.WriteString("ABC") // 末尾追加 53 }