En el lenguaje Go, los paquetes io proporcionan interfaces fundamentales para las primitivas de E/S. Y su trabajo principal es encerrar las implementaciones en curso de tal rey de los primitivos. La función NewSectionReader() en el lenguaje Go se usa para devolver un SectionReader que lee del lector indicado «r» que comienza en el desplazamiento indicado «off» y termina con el EOF, es decir, el final del archivo después del número «n» dado de bytes Además, esta función se define en el paquete io. Aquí, debe importar el paquete «io» para usar estas funciones.
Sintaxis:
func NewSectionReader(r ReaderAt, off int64, n int64) *SectionReader
Aquí, «r» es el lector desde donde se lee el contenido, «off» es el desplazamiento indicado desde donde comienza la lectura del contenido y «n» es el número de bytes hasta que se lee el contenido.
Valor de retorno: Devuelve un «SectionReader» que lee del lector indicado «r» que comienza en el desplazamiento indicado «off» y termina con el EOF, es decir, el final del archivo después del número «n» de bytes dado.
Los siguientes ejemplos ilustran el uso del método anterior:
Ejemplo 1:
// Golang program to illustrate the usage of // io.NewSectionReader() function // Including main package package main // Importing fmt, io, strings, and os import ( "fmt" "io" "os" "strings" ) // Calling main func main() { // Defining reader using NewReader method reader := strings.NewReader("Geeks\n") // Calling NewSectionReader method with its parameters r := io.NewSectionReader(reader, 3, 5) // Calling Copy method with its parameters Reader, err := io.Copy(os.Stdout, r) // If error is not nil then panics if err != nil { panic(err) } // Prints output fmt.Printf("n: %v\n", Reader) }
Producción:
ks n: 3
En el ejemplo anterior, el método Copy() se usa para devolver la salida, y el método de strings NewReader() se usa desde donde se escribe el contenido que se va a leer.
Ejemplo 2:
// Golang program to illustrate the usage of // io.NewSectionReader() function // Including main package package main // Importing fmt, io, strings, and os import ( "fmt" "io" "os" "strings" ) // Calling main func main() { // Defining reader using NewReader method reader := strings.NewReader("GeeksforGeeks\nis\na\nCS-Portal.\n") // Calling NewSectionReader method with its parameters r := io.NewSectionReader(reader, 7, 40) // Calling Copy method with its parameters Reader, err := io.Copy(os.Stdout, r) // If error is not nil then panics if err != nil { panic(err) } // Prints output fmt.Printf("n: %v\n", Reader) }
Producción:
rGeeks is a CS-Portal. n: 23
Aquí, el contenido comienza desde el desplazamiento «7» y termina después de que el número de bytes llega a «40». Pero en la salida devuelta aquí, el contenido copiado es de «23» bytes, por lo que «n» es 23.
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA