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 MultiReader() en el lenguaje Go se usa para devolver un «Lector» que es la concatenación lógica de todos los lectores de entrada indicados. Sin embargo, estos lectores indicados se leen en una secuencia. Y después de que toda la entrada indicada devuelva un EOF, es decir, al final del archivo, «Leer» devolverá un EOF. Además, esta función se define en el paquete io. Aquí, debe importar el paquete «io» para usar estas funciones.
Sintaxis:
func MultiReader(readers ...Reader) Reader
Aquí, «lectores» es el número de lectores indicados.
Valor de retorno: Devuelve un “Lector” que es la concatenación lógica de todos los lectores de entrada dados. Y si alguno de los lectores indicados devuelve un error no nulo o un error que no es EOF, entonces «Leer» devuelve ese error.
Los siguientes ejemplos ilustran el uso del método anterior:
Ejemplo 1:
// Golang program to illustrate the usage of // io.MultiReader() function // Including main package package main // Importing fmt, io, strings, and os import ( "fmt" "io" "os" "strings" ) // Calling main func main() { // Defining readers using NewReader method reader1 := strings.NewReader("Geeks\n") reader2 := strings.NewReader("GfG\n") reader3 := strings.NewReader("CS\n") // Calling MultiReader method with its parameters r := io.MultiReader(reader1, reader2, reader3) // 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:
Geeks GfG CS n: 13
En el ejemplo anterior, el método Copy() se usa para devolver el resultado de todos los lectores concatenados, 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.MultiReader() function // Including main package package main // Importing fmt, io, strings, and os import ( "fmt" "io" "os" "strings" ) // Calling main func main() { // Defining readers using NewReader method reader1 := strings.NewReader("104\n") reader2 := strings.NewReader("33.3\n") reader3 := strings.NewReader("703243242\n") // Calling MultiReader method with its parameters r := io.MultiReader(reader1, reader2, reader3) // 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:
104 33.3 703243242 n: 19
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA