add: spanish 02-write-your-first-program (#72)
* fix: typo on 01-empecemos/instalacion-osx.md * update: better formatting inside the README.md * add: spanish translation for 02-write-your-first-program
This commit is contained in:
		@@ -47,7 +47,7 @@ export PATH=${HOME}/go/bin:$PATH
 | 
			
		||||
4. Una vez acabado abre la **Paleta de Comandos** de nuevo
 | 
			
		||||
    1. Escribe: `shell`
 | 
			
		||||
    2. Elige: "Install 'code' command in PATH"
 | 
			
		||||
        1. **NOTE:** No tienes que hacer esto si estas en Windows.
 | 
			
		||||
        1. **NOTA:** No tienes que hacer esto si estas en Windows.
 | 
			
		||||
 | 
			
		||||
## Eso es todo! Disfrutad! 🤩
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										112
									
								
								translation/spanish/02-tu-primer-programa/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								translation/spanish/02-tu-primer-programa/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,112 @@
 | 
			
		||||
# Escribe Tu Primer Programa Usando Go
 | 
			
		||||
 | 
			
		||||
Hola!
 | 
			
		||||
 | 
			
		||||
Puedes guardar este documento despues de ver los videos de esta sección en particular.
 | 
			
		||||
 | 
			
		||||
Tambien puedes imprimirla y usarlo junto a los videos de esta sección.
 | 
			
		||||
 | 
			
		||||
Disfruta!
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## COMANDOS DE LA CONSOLA DE COMANDOS 
 | 
			
		||||
 | 
			
		||||
* **WINDOWS:**
 | 
			
		||||
 | 
			
		||||
* Entra al siguiente directorio: `cd directoryPath`
 | 
			
		||||
 | 
			
		||||
    * Muestra los archivos en ese directorio: `dir`
 | 
			
		||||
 | 
			
		||||
* **OS X & LINUXes:**
 | 
			
		||||
 | 
			
		||||
    * Muestra los archivos en ese directorio: `ls`
 | 
			
		||||
 | 
			
		||||
## COMPILANDO Y EJECUTANDO PROGRAMAS CON GO:
 | 
			
		||||
 | 
			
		||||
* **Compilando Un Programa En Go:**
 | 
			
		||||
 | 
			
		||||
    * Dentro del directorio del programa, escribe:
 | 
			
		||||
        * `go build`
 | 
			
		||||
 | 
			
		||||
* **Ejecuta Un Programa En Go:**
 | 
			
		||||
 | 
			
		||||
    * Dentro del directorio del programa, escribe:
 | 
			
		||||
        * `go run main.go`
 | 
			
		||||
 | 
			
		||||
## QUE ES EL $GOPATH?
 | 
			
		||||
 | 
			
		||||
* _$GOPATH_  es una variable de entorno que apunta a un directorio donde los archivos descargados por Go y los tuyos propios se encuentran.
 | 
			
		||||
 | 
			
		||||
    * **En Windows**, Esta en: `%USERPROFILE%\go`
 | 
			
		||||
 | 
			
		||||
    * **En OS X y en Linux**, Esta en: `~/go`
 | 
			
		||||
 | 
			
		||||
    * **NOTE:** Nunca introduzcas tu `GOPATH` de forma manual. Siempre se encuentra en el directorio de usuario por defecto.
 | 
			
		||||
 | 
			
		||||
* **GOPATH tiene tres directorios:**
 | 
			
		||||
 | 
			
		||||
    * **src:** Contiene los archivos fuente para tus paquetes o para otros paquetes que descargues. Puedes compilar y ejecutar programas mientras te encuentres en el directorio del programa.
 | 
			
		||||
 | 
			
		||||
    * **pkg:** Contiene paquetes de archivos compilados. Go usa esto para compilar de forma eficiente.
 | 
			
		||||
 | 
			
		||||
    * **bin:** Contiene programas compilados y ejecutables. Cuando usas el comando go install en el directorio de un programa, Go creara un archivo ejecutable en el mismo.
 | 
			
		||||
 | 
			
		||||
        * _Quizas quieraas añadir esto a tu variable de entorno`PATH` si no esta ahi._
 | 
			
		||||
 | 
			
		||||
## DONDE DEBERÍA PONER MIS ARCHIVOS FUENTE?
 | 
			
		||||
 | 
			
		||||
* `$GOPATH/src/github.com/yourUsername/programDirectory`
 | 
			
		||||
 | 
			
		||||
* **Ejemplo:**
 | 
			
		||||
 | 
			
		||||
    * Mi nombre en github es: inancgumus
 | 
			
		||||
 | 
			
		||||
    * Asi que añado todos mis programas bajo: `~/go/src/github.com/inancgumus/`
 | 
			
		||||
 | 
			
		||||
    * Asi que, digamos que tengo un programa llamado hello, y lo pongo bajo este directorio: `~/go/src/github.com/inancgumus/hello`
 | 
			
		||||
 | 
			
		||||
## TU PRIMER PROGRAMA!
 | 
			
		||||
 | 
			
		||||
* **Crea Los Directorios:**
 | 
			
		||||
    * **OS X & Linux (o git bash):**
 | 
			
		||||
        * Crea un nuevo directorio:
 | 
			
		||||
            * `mkdir -p ~/go/src/yourname/hello`
 | 
			
		||||
        * Ves a ese directorio:
 | 
			
		||||
            * `cd ~/go/src/yourname/hello`
 | 
			
		||||
 | 
			
		||||
    * **Windows:**
 | 
			
		||||
        * Crea un nuevo directorio:
 | 
			
		||||
            * `mkdir c:\Go\src\yourname\hello`
 | 
			
		||||
        * Ves a ese directorio:
 | 
			
		||||
            * `cd c:\Go\src\yourname\hello`
 | 
			
		||||
 | 
			
		||||
* Crea un nuevo archivo usando `code main.go` Visual Studio Code.
 | 
			
		||||
* Añade el siguiente codigo y guardalo.
 | 
			
		||||
* Vuelve a la consola de comandos.
 | 
			
		||||
    * Ejecutalo con este comando: `go run main.go`
 | 
			
		||||
 | 
			
		||||
```go
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
    fmt.Println("Hi! I want to be a Gopher!")
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Eso es todo! Disfruta!
 | 
			
		||||
 | 
			
		||||
## NOTA:
 | 
			
		||||
 | 
			
		||||
* Hay un nuevo *Go Modules* que te permite ejecutar tus programas en cualquier directorio de tu elección. Es todavia una caracteristica experimental, cuando se estabilize actualizare el curso para incluir los Go Modules.
 | 
			
		||||
 | 
			
		||||
> Para mas tutoriales: [https://blog.learngoprogramming.com](https://blog.learngoprogramming.com)
 | 
			
		||||
>
 | 
			
		||||
> Copyright © 2021 Inanc Gumus
 | 
			
		||||
>
 | 
			
		||||
> Learn Go Programming Course
 | 
			
		||||
>
 | 
			
		||||
> [Click aqui para leer la licencia.](https://creativecommons.org/licenses/by-nc-sa/4.0/)
 | 
			
		||||
 | 
			
		||||
@@ -0,0 +1,61 @@
 | 
			
		||||
# Anotaciones Ejemplo Programa en Go
 | 
			
		||||
 | 
			
		||||
```go
 | 
			
		||||
// package main es un paquete especial
 | 
			
		||||
// le permite a Go crear un archivo ejecutable
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Esto es un comentario multilinea.
 | 
			
		||||
 | 
			
		||||
la palabra import hace que otro paquete este disponible
 | 
			
		||||
  para este "archivo" .go.
 | 
			
		||||
 | 
			
		||||
import "fmt" te permite acceder a la funcionaliddad del paquete fmt
 | 
			
		||||
  en este archivo.
 | 
			
		||||
*/
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
// "func main" es especial.
 | 
			
		||||
//
 | 
			
		||||
// Go tiene que saber por donde empezar
 | 
			
		||||
//
 | 
			
		||||
// func main crea un punto de inicio para Go
 | 
			
		||||
//
 | 
			
		||||
// Despues de compilar el codigo,
 | 
			
		||||
// Go ejecutara esta funcion primero. 
 | 
			
		||||
func main() {
 | 
			
		||||
	// despues del: import "fmt"
 | 
			
		||||
	// La funcion Println del paquete "fmt" estara disponible
 | 
			
		||||
 | 
			
		||||
	// Lee sobre ella escribiendo los siguiente en la consola:
 | 
			
		||||
	//   go doc -src fmt Println
 | 
			
		||||
 | 
			
		||||
	// Println es simplemente una funcion exportada de:
 | 
			
		||||
	//   "fmt" package
 | 
			
		||||
 | 
			
		||||
	// Exportada = Primera letra en mayuscula
 | 
			
		||||
	fmt.Println("Hello Gopher!")
 | 
			
		||||
 | 
			
		||||
	// Go no puede llamar a la funcion Println por si mismo.
 | 
			
		||||
	// Por eso la tienes que llamar aqui.
 | 
			
		||||
	// Solo llama a la `func main` de forma automatica.
 | 
			
		||||
 | 
			
		||||
	// -----
 | 
			
		||||
 | 
			
		||||
    // Go soporta caracteres unicode en cadenas de texto literal
 | 
			
		||||
	// y tambien en el codigo fuente: KÖSTEBEK!
 | 
			
		||||
	//
 | 
			
		||||
	// Porque: Literal ~= Codigo Fuente 
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
<div style="page-break-after: always;"></div>
 | 
			
		||||
 | 
			
		||||
> Para mas tutoriales: [https://blog.learngoprogramming.com](https://blog.learngoprogramming.com)
 | 
			
		||||
>
 | 
			
		||||
> Copyright © 2021 Inanc Gumus
 | 
			
		||||
>
 | 
			
		||||
> Learn Go Programming Course
 | 
			
		||||
>
 | 
			
		||||
> [Click aqui para leer la licencia.](https://creativecommons.org/licenses/by-nc-sa/4.0/)
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
// Copyright © 2021 Inanc Gumus
 | 
			
		||||
// Learn Go Programming Course
 | 
			
		||||
// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/
 | 
			
		||||
//
 | 
			
		||||
// Para mas tutoriales : https://learngoprogramming.com
 | 
			
		||||
// Clases particulares : https://www.linkedin.com/in/inancgumus/
 | 
			
		||||
// Sigueme en Twitter  : https://twitter.com/inancgumus
 | 
			
		||||
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
// ---------------------------------------------------------
 | 
			
		||||
// EJERCICIO: Imprimir nombres
 | 
			
		||||
//
 | 
			
		||||
//	Imprime tu nombre y el de tu mejor amigo usando
 | 
			
		||||
//  Println dos veces
 | 
			
		||||
//
 | 
			
		||||
// RESULTADO ESPERADO
 | 
			
		||||
//  TuNombre
 | 
			
		||||
//  ElNombreDeTuMejorAmigo
 | 
			
		||||
//
 | 
			
		||||
// BONUS
 | 
			
		||||
//  Usa `go run` primero.
 | 
			
		||||
//  Y despues de eso usa `go build` y ejecuta tu programa.
 | 
			
		||||
// ---------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	// ?
 | 
			
		||||
	// ?
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,21 @@
 | 
			
		||||
// Copyright © 2021 Inanc Gumus
 | 
			
		||||
// Learn Go Programming Course
 | 
			
		||||
// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/
 | 
			
		||||
//
 | 
			
		||||
// Para mas tutoriales : https://learngoprogramming.com
 | 
			
		||||
// Clases particulares : https://www.linkedin.com/in/inancgumus/
 | 
			
		||||
// Sigueme en Twitter  : https://twitter.com/inancgumus
 | 
			
		||||
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
// go run main.go
 | 
			
		||||
 | 
			
		||||
// go build
 | 
			
		||||
// ./solution
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
	fmt.Println("Nikola")
 | 
			
		||||
	fmt.Println("Thomas")
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,7 @@
 | 
			
		||||
* **Ejercicio: Imprime tu GOPATH**
 | 
			
		||||
 | 
			
		||||
Imprime tu GOPATH usando la herramienta `go env`
 | 
			
		||||
 | 
			
		||||
* **RESULTADO ESPERADO:**
 | 
			
		||||
 | 
			
		||||
La ruta fisica de la carpeta que hace referencia al `$GOPATH`
 | 
			
		||||
@@ -0,0 +1,5 @@
 | 
			
		||||
* **Debes de escribir esto en tu consola de comandos:**
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
go env GOPATH
 | 
			
		||||
```
 | 
			
		||||
@@ -0,0 +1,54 @@
 | 
			
		||||
1. **Imprime tu nombre y el nombre de tu mejor amigo** usando Println dos veces. [Echale un vistazo a este ejercicio](https://github.com/inancgumus/learngo/tree/master/translation/spanish/02-tu-primer-programa/ejericios/01-imprimir-nombres).
 | 
			
		||||
 | 
			
		||||
2. **Imprime tu GOPATH** usando la herramienta `go env` [Echale un vistazo a este ejercicio](https://github.com/inancgumus/learngo/tree/master/translation/spanish/02-tu-primer-programa/ejercicios/02-imprimir-gopath).
 | 
			
		||||
 | 
			
		||||
3. **Saludate a ti mismo.**
 | 
			
		||||
 | 
			
		||||
    1. Complila tu programa usando `go build`
 | 
			
		||||
 | 
			
		||||
    2. **Enviaselo a tu amigo**
 | 
			
		||||
 | 
			
		||||
       Deberia tener el mismo sistema operativo.
 | 
			
		||||
 | 
			
		||||
       Por ejemplo si estas usando Windows enviaselo a un amigo que tambien tenga Windows.
 | 
			
		||||
 | 
			
		||||
    3. **Enviaselo a un amigo con un sistema operativo diferente**
 | 
			
		||||
 | 
			
		||||
       Deberias compilar el programa especificamente para su sistema operativo.
 | 
			
		||||
 | 
			
		||||
       **Crea un ejecutable para OS X:**
 | 
			
		||||
       `GOOS=darwin GOARCH=386 go build`
 | 
			
		||||
 | 
			
		||||
       **Crea un ejecutable para Windows:**
 | 
			
		||||
       `GOOS=windows GOARCH=386 go build`
 | 
			
		||||
 | 
			
		||||
       **Crea un ejecutable para Linux:**
 | 
			
		||||
       `GOOS=linux GOARCH=arm GOARM=7 go build`
 | 
			
		||||
 | 
			
		||||
       **Puedes encontrar una lista completa aqui:**
 | 
			
		||||
       https://golang.org/doc/install/source#environment
 | 
			
		||||
 | 
			
		||||
       **NOTA:** Si estas usando la consola de comandos o PowerShell, quizas necesites usarlo de la siguiente forma:
 | 
			
		||||
       `cmd /c "set GOOS=darwin GOARCH=386 && go build"`
 | 
			
		||||
 | 
			
		||||
4. **Llama a [Print](https://golang.org/pkg/fmt/#Print) en vez de a [Println](https://golang.org/pkg/fmt/#Println)** y observa que pasa.
 | 
			
		||||
 | 
			
		||||
5. **Llama a [Println](https://golang.org/pkg/fmt/#Println) o a [Print](https://golang.org/pkg/fmt/#Print) con multiples valores** separados por comas.
 | 
			
		||||
 | 
			
		||||
6. **Elimina las comillas dobles de una cadena de texto literal** y observa que pasa.
 | 
			
		||||
 | 
			
		||||
7. **Mueve tanto package como import** al final del archivo y observa que pasa.
 | 
			
		||||
 | 
			
		||||
8. **[Lee la documentación en linea](https://golang.org/pkg)**.
 | 
			
		||||
 | 
			
		||||
    1. Echale un vistazo a que son los packages y que es lo que hacen.
 | 
			
		||||
 | 
			
		||||
    2. Mira su codigo fuente dandole click a su titulo.
 | 
			
		||||
 | 
			
		||||
    3. No tienes porque entenderlo todo, simplemente hazlo. Esto te dara un empujon de cara a las siguientes clases.
 | 
			
		||||
 | 
			
		||||
9. Tambien, puedes tomar **un tour con Go**: https://tour.golang.org/
 | 
			
		||||
 | 
			
		||||
    1. Echale un vistazo rapido. Mira las caracteristicas del lenguaje.
 | 
			
		||||
 | 
			
		||||
    2. Hablaremos de ellas proximamente.
 | 
			
		||||
							
								
								
									
										55
									
								
								translation/spanish/02-tu-primer-programa/main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								translation/spanish/02-tu-primer-programa/main.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
// Copyright © 2021 Inanc Gumus
 | 
			
		||||
// Learn Go Programming Course
 | 
			
		||||
// Licencia: https://creativecommons.org/licenses/by-nc-sa/4.0/
 | 
			
		||||
//
 | 
			
		||||
// Para mas tutoriales: https://learngoprogramming.com
 | 
			
		||||
// Clases particulares: https://www.linkedin.com/in/inancgumus/
 | 
			
		||||
// Sigueme en twitter: https://twitter.com/inancgumus
 | 
			
		||||
 | 
			
		||||
// package main es un paquete especial
 | 
			
		||||
// le permite a Go crear un archivo ejecutable
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Esto es un comentario multilinea.
 | 
			
		||||
 | 
			
		||||
la palabra import hace que otro paquete este disponible
 | 
			
		||||
  para este "archivo" .go.
 | 
			
		||||
 | 
			
		||||
import "fmt" te permite acceder a la funcionaliddad del paquete fmt
 | 
			
		||||
  en este archivo.
 | 
			
		||||
*/
 | 
			
		||||
import "fmt"
 | 
			
		||||
 | 
			
		||||
// "func main" es especial.
 | 
			
		||||
//
 | 
			
		||||
// Go tiene que saber por donde empezar
 | 
			
		||||
//
 | 
			
		||||
// func main crea un punto de inicio para Go
 | 
			
		||||
//
 | 
			
		||||
// Despues de compilar el codigo,
 | 
			
		||||
// Go ejecutara esta funcion primero.
 | 
			
		||||
func main() {
 | 
			
		||||
	// despues del: import "fmt"
 | 
			
		||||
	// La funcion Println del paquete "fmt" estara disponible
 | 
			
		||||
 | 
			
		||||
	// Lee sobre ella escribiendo los siguiente en la consola:
 | 
			
		||||
	//   go doc -src fmt Println
 | 
			
		||||
 | 
			
		||||
	// Println es simplemente una funcion exportada de:
 | 
			
		||||
	//   "fmt" package
 | 
			
		||||
 | 
			
		||||
	// Exportada = Primera letra en mayuscula
 | 
			
		||||
	fmt.Println("Hello Gopher!")
 | 
			
		||||
 | 
			
		||||
	// Go no puede llamar a la funcion Println por si mismo.
 | 
			
		||||
	// Por eso la tienes que llamar aqui.
 | 
			
		||||
	// Solo llama a la `func main` de forma automatica.
 | 
			
		||||
 | 
			
		||||
	// -----
 | 
			
		||||
 | 
			
		||||
	// Go soporta caracteres unicode en cadenas de texto literal
 | 
			
		||||
	// y tambien en el codigo fuente: KÖSTEBEK!
 | 
			
		||||
	//
 | 
			
		||||
	// Porque: Literal ~= Codigo Fuente
 | 
			
		||||
}
 | 
			
		||||
@@ -9,13 +9,17 @@ Compartir es gratis pero cuidar no tiene precio [Asi, que porfavor haz click aqu
 | 
			
		||||
## Mantente en contacto
 | 
			
		||||
 | 
			
		||||
* **[Sigueme en Twitter](https://twitter.com/inancgumus)**
 | 
			
		||||
 | 
			
		||||
  _Usualmente twiteo trucos y consejos sobre Go._
 | 
			
		||||
 | 
			
		||||
  [](https://twitter.com/inancgumus)
 | 
			
		||||
 | 
			
		||||
* **[Suscribete a mi Newsletter](https://eepurl.com/c4DMNX)**
 | 
			
		||||
 | 
			
		||||
  _Recibe actualizaciones de mi parte._
 | 
			
		||||
 | 
			
		||||
* **[Lee mi Blog](https://blog.learngoprogramming.com)**
 | 
			
		||||
 | 
			
		||||
  _Seguido por mas de 5mil desarrolladores y con decenas de articulos ilustrados sobre Go._
 | 
			
		||||
 | 
			
		||||
* **[Mira mi canal de Youtube](https://www.youtube.com/channel/UCYxepZhtnFIVRh8t5H_QAdg?view_as=subscriber)**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user