diff --git a/translation/spanish/03-paquetes-y-funciones/01-paquetes/bye.go b/translation/spanish/03-paquetes-y-funciones/01-paquetes/bye.go new file mode 100644 index 0000000..6ca94a4 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/01-paquetes/bye.go @@ -0,0 +1,15 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func bye() { + fmt.Println("Bye!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/01-paquetes/hey.go b/translation/spanish/03-paquetes-y-funciones/01-paquetes/hey.go new file mode 100644 index 0000000..11709ee --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/01-paquetes/hey.go @@ -0,0 +1,15 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func hey() { + fmt.Println("Hey!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/01-paquetes/main.go b/translation/spanish/03-paquetes-y-funciones/01-paquetes/main.go new file mode 100644 index 0000000..94b438e --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/01-paquetes/main.go @@ -0,0 +1,25 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func main() { + fmt.Println("Hello!") + + // Puedes acceder a funciones desde otros archivos + // los cuales esten en el mismo paquete + // Por ejemplo, `main()` puede acceder a `bye()` y `hey()` + + // Porque bye.go, hey.go y main.go + // estan en el mismo paquete. + + bye() + hey() +} diff --git a/translation/spanish/03-paquetes-y-funciones/02-funciones/01-funciones/main.go b/translation/spanish/03-paquetes-y-funciones/02-funciones/01-funciones/main.go new file mode 100644 index 0000000..479c2ee --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/02-funciones/01-funciones/main.go @@ -0,0 +1,24 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +// Librerias importadas +import "fmt" + +// variables del paquete +const ok = true + +// función del paquete +func main() { // Empieza el bloque de la función + var hola = "Hola" + + // hola y ok son visibles aquí + fmt.Println(hola, ok) + +} // Termina el bloque de la función diff --git a/translation/spanish/03-paquetes-y-funciones/02-funciones/02-bloque-de-funcion/main.go b/translation/spanish/03-paquetes-y-funciones/02-funciones/02-bloque-de-funcion/main.go new file mode 100644 index 0000000..5626b03 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/02-funciones/02-bloque-de-funcion/main.go @@ -0,0 +1,27 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +func nope() { // Empieza el bloque de la función + + // hola y ok solamente son visibles aquí + const ok = true + var hola = "Hola" + + _ = hola +} // Termina el bloque de la función + +func main() { // Empieza el bloque de la función + + // hola y ok no son visibles aquí + + // ERROR: + // fmt.Println(hola, ok) + +} // Termina el bloque de la función diff --git a/translation/spanish/03-paquetes-y-funciones/02-funciones/03-funciones-anidadas/main.go b/translation/spanish/03-paquetes-y-funciones/02-funciones/03-funciones-anidadas/main.go new file mode 100644 index 0000000..cdf4b4c --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/02-funciones/03-funciones-anidadas/main.go @@ -0,0 +1,40 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +// No hable de esto en la lectura +// quiero dejarlo aqui como una pequeña nota +// Por favor revisalo. + +var declarameOtraVez = 10 + +func anidado() { // Empieza el bloque de la función + + // declara las misma variables + // ambas pueden existir juntas + // Esta solo pertenece a esta función + // la variable del paquete sigue intacta + var declarameOtraVez = 5 + fmt.Println("Dentro del anidado:", declarameOtraVez) + +} // Termina el bloque de la función + +func main() { // Empieza el bloque de la función + + fmt.Println("Dentro de main:", declarameOtraVez) + + anidado() + + // a nivel paquete, declarameOtraVez no fue alterado + // desde el cambio dentro de la funcion anidado + fmt.Println("Dentro de main:", declarameOtraVez) + +} // Termina el bloque de la función diff --git a/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/bye.go b/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/bye.go new file mode 100644 index 0000000..6ca94a4 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/bye.go @@ -0,0 +1,15 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func bye() { + fmt.Println("Bye!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/hey.go b/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/hey.go new file mode 100644 index 0000000..d3bf4a8 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/hey.go @@ -0,0 +1,14 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus +package main + +import "fmt" + +func hey() { + fmt.Println("Hey!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/main.go b/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/main.go new file mode 100644 index 0000000..11262e5 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/02-funciones/04-funcion-del-paquete/main.go @@ -0,0 +1,35 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus +package main + +import "fmt" + +func main() { + fmt.Println("Hello!") + //Dos archivos pertenecen al mismo paquete + // llamando `bye()` de bye.go a aqui + bye() +} + +// Ejercicio: Quita los comentarios de la siguiente función y analiza el error + +// func bye() { +// fmt.Println("Bye!") +// } + +// ***** EXPLICACIÓN ***** +// +// ERROR: "bye" function "redeclared" +// in "this block" +// +// "this block" significa = "main package" +// +// "redeclared" significa = Estas usando el mismo nompre en la funcion otra vez +// +// La función main package es: +// todo el codigo que esta en el mismo paquete main diff --git a/translation/spanish/03-paquetes-y-funciones/03-importando/01-funcion-del-archivo/bye.go b/translation/spanish/03-paquetes-y-funciones/03-importando/01-funcion-del-archivo/bye.go new file mode 100644 index 0000000..042fbcf --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/03-importando/01-funcion-del-archivo/bye.go @@ -0,0 +1,19 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +// quita los comentarios del codigo para ver el error +// (Solo quita las // del codigo en las 3 lineas siguientes) + +// Este archivo no puede ver los nombres importados de main.go ("fmt") +// porque los nombres importados pertenecen a la funcion del archivo (librerias) + +// func bye() { +// fmt.Println("Bye!") +// } diff --git a/translation/spanish/03-paquetes-y-funciones/03-importando/01-funcion-del-archivo/main.go b/translation/spanish/03-paquetes-y-funciones/03-importando/01-funcion-del-archivo/main.go new file mode 100644 index 0000000..b804003 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/03-importando/01-funcion-del-archivo/main.go @@ -0,0 +1,14 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus +package main + +import "fmt" + +func main() { + fmt.Println("Hello!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/03-importando/02-renombrando/main.go b/translation/spanish/03-paquetes-y-funciones/03-importando/02-renombrando/main.go new file mode 100644 index 0000000..dbe84f1 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/03-importando/02-renombrando/main.go @@ -0,0 +1,19 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import ( + "fmt" + f "fmt" +) + +func main() { + fmt.Println("Hello!") + f.Println("There!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/main.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/main.go new file mode 100644 index 0000000..3123437 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/main.go @@ -0,0 +1,33 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +// --------------------------------------------------------- + +// EJERCICIO: Usa tu propio paquete +// +// Crea algunos archivos Go y llama sus funciónes desde +// la funcion main +// +// 1- Crea los archivos main.go, greet.go y bye.go +// 2- En main.go: Llama a las funciones greet y bye. +// 3- Corre `main.go` +// +// PISTA +// La funcion greet deberia de estar en greet,go +// La funcion bye deberia de estar en bye.go +// +// SALIDA ESPERADA +// Hola!! +// Adios!! +// --------------------------------------------------------- + +func main() { + // Llama a las funciones de los otros archivos aqui. +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/bye.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/bye.go new file mode 100644 index 0000000..54c9373 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/bye.go @@ -0,0 +1,15 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// License: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// For more tutorials : https://learngoprogramming.com +// In-person training : https://www.linkedin.com/in/inancgumus/ +// Follow me on twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func bye() { + fmt.Println("adios!!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/greet.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/greet.go new file mode 100644 index 0000000..1d87869 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/greet.go @@ -0,0 +1,15 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func greet() { + fmt.Println("hola!!") +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/main.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/main.go new file mode 100644 index 0000000..2c1ef30 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/01-paquetes/solucion/main.go @@ -0,0 +1,14 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +func main() { + greet() + bye() +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/main.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/main.go new file mode 100644 index 0000000..3d110ce --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/main.go @@ -0,0 +1,31 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +// --------------------------------------------------------- +// EJERCICIO: Prueba las funciones +// +// 1. Crea 2 archivos: main.go y printer.go +// +// 2. En printer.go: +// 1. Crea una funcion llamada hello +// 2. Dentro de la funcion hello, imprime tu nombre +// +// 3. En main.go: +// 1. Crea la tipica funcion func main +// 2. Llama a tu funcion solo usando su nombre: hello +// 3. Crea una funcion llamda bye +// 4. Dentro de la funcion bye, imprime "bye bye" +// +// 4. En printer.go: +// 1. Llama a la funcion bye desde dentro de la funcion hello +// --------------------------------------------------------- + +func main() { +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/solucion/main.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/solucion/main.go new file mode 100644 index 0000000..0536ed5 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/solucion/main.go @@ -0,0 +1,39 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func main() { + // Como puedes verm no necesito importar el un paquete + // y puedo llamar a la funcion 'hello' aqui + // + // Esto es porque las funciones de paquetes (librerias) + // estan compartidas en el mismo paquete + hello() + // pero aqui no puedo acceder al paquete fmt sin importarlo + // + // Esto es porque esta en la funcion del archivo printer.go + // lo importa + // + + // esta funcion main puede tambien llamar a la funcion bye aqui + // bye() +} + +// printer.go puede llamar a esta funcion +// +// Esto es porque la funcion bye esta en la funcion del paquete (libreria) +// del paquete main ahora +// . +// +// La funcion main tambien puede llamar aqui. +func bye() { + fmt.Println("bye bye") +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/solucion/printer.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/solucion/printer.go new file mode 100644 index 0000000..cdadfee --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/02-scopes/solucion/printer.go @@ -0,0 +1,20 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import "fmt" + +func hello() { + // Solo este archivo puede acceder a la funcion de paquete fmt + // cuando otros ya lo hiciero, ellos tamvien pueden acceder + // Su propio 'fmt' "name" + + fmt.Println("hi! this is inanc!") + bye() +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/03-importando/main.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/03-importando/main.go new file mode 100644 index 0000000..ec72226 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/03-importando/main.go @@ -0,0 +1,31 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +// --------------------------------------------------------- +// EJERCICIO: Renombra las importaciones +// +// 1- Importa el paquete fmt tres veces con diferentes nombres +// 2- Imprime algunos mensajes usando esas importaciones +// +// SALIDA ESPERADA +// hello +// hey +// hi +// --------------------------------------------------------- + +// ? +// ? +// ? + +func main() { + // ? + // ? + // ? +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/03-importando/solucion/main.go b/translation/spanish/03-paquetes-y-funciones/ejercicios/03-importando/solucion/main.go new file mode 100644 index 0000000..7dca57d --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/03-importando/solucion/main.go @@ -0,0 +1,22 @@ +// Copyright © 2018 Inanc Gumus +// Learn Go Programming Course +// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/ +// +// Para más tutoriales : https://learngoprogramming.com +// Clases particulares : https://www.linkedin.com/in/inancgumus/ +// Sigueme en twitter: https://twitter.com/inancgumus + +package main + +import ( + "fmt" + f "fmt" + + fm "fmt" +) + +func main() { + fmt.Println("hello") + f.Println("hey") + fm.Println("hi") +} diff --git a/translation/spanish/03-paquetes-y-funciones/ejercicios/README.md b/translation/spanish/03-paquetes-y-funciones/ejercicios/README.md new file mode 100644 index 0000000..8230376 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/ejercicios/README.md @@ -0,0 +1,13 @@ +1. **[Usa tus propios paquetes](https://github.com/inancgumus/learngo/tree/master/03-packages-and-scopes/exercises/01-packages)** + + Crea algunos archivos Go y llama sus funciones desde la función main. + + +2. **[Prueba las funciones](https://github.com/inancgumus/learngo/tree/master/03-packages-and-scopes/exercises/02-scopes)** + + Aprende los efectos del acceso de funciones de paquetes ó Librerias. + + +3. **[Renombra las importaciones](https://github.com/inancgumus/learngo/tree/master/03-packages-and-scopes/exercises/03-importing)** + + Importa los mismos paquetes usando diferentes nombres. \ No newline at end of file diff --git a/translation/spanish/03-paquetes-y-funciones/preguntas/01-paquetes-A/README.md b/translation/spanish/03-paquetes-y-funciones/preguntas/01-paquetes-A/README.md new file mode 100644 index 0000000..741a1b9 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/preguntas/01-paquetes-A/README.md @@ -0,0 +1,50 @@ +## ¿Dónde almacenar los archivos de código fuente que pertenecen a un paquete? +1. Cada archivo debe ir a un directorio diferente +2. En un solo directorio *CORRECTO* + + +## ¿Por qué se utiliza una cláusula de paquete en un archivo de código fuente de Go? +1. Se usa para importar un paquete. +2. Se utiliza para informarle a Go que el archivo pertenece a un paquete *CORRECTO* +3. Se usa para declarar una nueva función + +> **1:** `import` declaración hace eso. +> +> +> **3:** `func` declaración hace eso. +> +> + + +## ¿Dónde debería poner el `package clause` en un archivo de código fuente de Go? +1. Como primer código en un archivo de código fuente de Go *CORRECTO* +2. Como último código en un archivo de código fuente de Go +3. Puedes ponerlo en cualquier lugar + + +## ¿Cuántas veces puede usar`package clause` para un solo archivo de código fuente? +1. Una vez *CORRECTO* +2. Ninguna +3. Varias veces + + +## ¿Cuál es el uso correcto de`package clause`? +1. `my package` +2. `package main` +3. `pkg main` + + +## ¿Cual es la correcta? +1. Todos los archivos pertenecen al mismo paquete no pueden llamar a las funciones de los demás +2. Todos los archivos pertenecen al mismo paquete pueden llamar a las funciones de los demás *CORRECTO* + + +## ¿Cómo ejecutar varios archivos Go? +1. go run *.*go +2. go build *go +3. go run go +4. go run *.go *CORRECTO* + +> **4:** También puede llamarlo como (asumiendo que hay file1.go file2.go y file3.go en el mismo directorio): vaya a ejecutar file1.go file2.go file3.go +> +> diff --git a/translation/spanish/03-paquetes-y-funciones/preguntas/02-paquete-B/README.md b/translation/spanish/03-paquetes-y-funciones/preguntas/02-paquete-B/README.md new file mode 100644 index 0000000..13fb025 --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/preguntas/02-paquete-B/README.md @@ -0,0 +1,41 @@ +## ¿Cuál de los siguientes es un tipo de paquete correcto en Go? +* Paquete vacio +* Paquete ejecutable *CORRECTO* +* Paquete transferible +* Paquete de libreria + +## ¿Qué tipo de paquete `go run` puede ejecutar? +* Paquete vacio +* Paquete ejecutable *CORRECTO* +* Paquete transferible +* Paquete de libreria + +## ¿Qué tipo de paquete `go run` puede compilar? +* Paquete vacio +* Paquete temporal +* Ambos paquetes ejecutables y de libreria *CORRECTO* +* Paquete transferible + + +## ¿Cuál es un paquete ejecutable? +* `package main` con `func main` *CORRECTO* +* `package Main` con `func Main` +* `package exec` con `func exec` + +## ¿Cuál es un paquete de libreria? +* `main package` +* `package lib` *CORRECTO* +* `func package` +* `package main` con `func main` + +## ¿Qué paquete se utiliza para un programa Go ejecutable? +* Paquete vacio +* Paquete ejecutable *CORRECTO* +* Paquete transferible +* Paquete de libreria + +## ¿Qué paquete se utiliza para la reutilización y se puede importar? +* Paquete vacio +* Paquete ejecutable +* Paquete transferible +* Paquete de libreria *CORRECTO* diff --git a/translation/spanish/03-paquetes-y-funciones/preguntas/03-funciones/README.md b/translation/spanish/03-paquetes-y-funciones/preguntas/03-funciones/README.md new file mode 100644 index 0000000..44dfb2d --- /dev/null +++ b/translation/spanish/03-paquetes-y-funciones/preguntas/03-funciones/README.md @@ -0,0 +1,132 @@ +## ¿Qué es una funcion? +* Bloque de código ejecutable +* La visibilidad de los nombres declarados **CORRECTO** +* Determina qué ejecutar + +```go +package awesome + +import "fmt" + +var enabled bool + +func block() { + var counter int + fmt.Println(counter) +} +``` + +## ¿Qué nombre a continuación tiene la fuincion del paquete(libreria)? +1. awesome +2. fmt +3. enabled **CORRECTO** +4. counter + +> **3:** Eso es correcto.`enabled` enabledestá fuera de cualquier función, por lo que es un nombre de ámbito de paquete. La funcion `block()` también tiene el alcance del paquete; también está fuera de cualquier función. +> +> + + +## ¿Qué nombre a continuación tiene la funcion del archivo? +1. awesome +2. fmt **CORRECTO** +3. enabled +4. block() +5. counter + +> **2:** Eso es correcto. Los nombres de los paquetes importados tienen un ámbito de archivo. Y solo se pueden usar dentro del mismo archivo. +> +> + + +## ¿Qué nombre a continuación está en el alcance de la función block ()? +1. awesome +2. fmt +3. enabled +4. block() +5. counter **CORRECTO* + +> **5:** Eso es correcto. `counter` se declara dentro de la funcion `block()` por lo que está en el alcance del bloque func. Fuera de la funcion `block()`, otro código no puede verlo. +> +> + + +## ¿Puede `block()` ver el nombre `enabled`? +1. Sí: está en el alcance del paquete **CORRECTO** +2. No: está en el alcance del archivo +3. No: está en el alcance del bloque de block () + +> **1:** Todo el código dentro del mismo paquete puede ver todos los demás nombres declarados a nivel de paquete. +> +> + + +## ¿Pueden otros archivos en el paquete `awesome` ver el nombre de `counter`? +1. Si +2. No: está en la funcion del paquete +3. No: está en la funcion del archivo +4. No: está en la funcion del block() **CORRECTO** + +> **4:** Eso es correcto. Ninguno de los otros códigos puede ver los nombres dentro de la funcion `block()` .Solo el código dentro de la funcion `block()` puede verlos (Solo hasta cierto punto. Por ejemplo: Dentro del bloque, el código solo puede ver las variables declaradas antes). +> + + +## ¿Pueden otros archivos en el paquete `awesome` ver el nombre de`fmt` ? +1. Si +2. No: está en la funcion del paquete +3. No: está en la funcion del archivo **CORRECTO** +4. No: está en la funcion del bloque() + +> **3:** Solo el mismo archivo puede ver los paquetes importados, no los otros archivos, ya sea que estén en el mismo paquete o no. +> +> + + +## ¿Qué sucede si declaras el mismo nombre en el mismo ámbito que este? +```go +package awesome + +import "fmt" + +// declared twice in the package scope +var enabled bool +var enabled bool + +func block() { + var counter int + fmt.Println(counter) +} +``` +1. El nombre recién declarado prevalecerá sobre el anterior. +2. No puedo hacer eso. Ya se ha declarado en la funcion del paquete. *CORRECTO* +3. No puedo hacer eso. Ya se ha declarado en la funcion del archivo. + +> **2:** Eso es correcto. No puede declarar el mismo nombre en el mismo ámbito. Si pudiera hacerlo, ¿cómo volvería a acceder a él? ¿O a cuál? +> +> + + +## ¿Qué sucede si declaras el mismo nombre en otro ámbito como este?: +```go +package awesome + +import "fmt" + +// declared at the package scope +var enabled bool + +func block() { + // also declared in the block scope + var enabled bool + + var counter int + fmt.Println(counter) +} +``` +1. El nombre recién declarado prevalecerá sobre el anterior. *CORRECTO* +2. No puedo hacer eso. Ya se ha declarado en la funcion del paquete. +3. No puedo hacer eso. Ya se ha declarado en la funcion del archivo. + +> **1:** En realidad, puede declarar el mismo nombre en los ámbitos internos de esta manera. La funcion `block()` está dentro de su paquete. Esto significa que puede acceder al alcance de su paquete (pero no al revés). Entonces, la funcion `block()`de 'está bajo el alcance de su paquete. Esto significa que puede volver a declarar el mismo nombre. Anulará el nombre del ámbito principal. Ambos pueden existir juntos. Consulte el ejemplo en el repositorio de cursos para averiguarlo. +> +>