func (f *File) Seek(offset int64, whence int) (ret int64, err error)
file, err := os.Open("example.txt") if err != nil { log.Fatal(err) } defer file.Close() // Set the pointer to the 10th byte from the start of the file. _, err = file.Seek(10, io.SeekStart) if err != nil { log.Fatal(err) } // Read 5 bytes from the current pointer position. data := make([]byte, 5) _, err = file.Read(data) if err != nil { log.Fatal(err) } fmt.Println(string(data)) // Output: "world"
file, err := os.OpenFile("example.txt", os.O_WRONLY|os.O_APPEND, 0644) if err != nil { log.Fatal(err) } defer file.Close() // Seek to the end of the file. _, err = file.Seek(0, io.SeekEnd) if err != nil { log.Fatal(err) } // Append "hello" to the file. _, err = file.Write([]byte("hello")) if err != nil { log.Fatal(err) }In both examples, the "os" package is used to open and manipulate the file objects, and the "io" package is used to specify the seek position.