package main import ( "log" "os" ) func main() { file, err := os.Open("data.txt") if err != nil { log.Fatal(err) } defer file.Close() data := make([]byte, 40) file.Read(data) // Seek to the beginning of the file file.Seek(0, 0) }
package main import ( "bytes" "log" ) func main() { buffer := bytes.NewBufferString("Hello, world!") reader := bytes.NewReader(buffer.Bytes()) data := make([]byte, 5) reader.Read(data) // Seek back 5 bytes from the current position reader.Seek(-5, 1) }This example creates a buffer containing the string "Hello, world!", creates a Reader from the buffer, reads 5 bytes of data from the Reader, and then seeks back 5 bytes from the current position. Overall, the io package is a built-in package in Go's standard library, and provides many useful and efficient functions for I/O operations.