One place for hosting & domains

      programa

      Como escrever seu primeiro programa em Go


      Introdução

      O programa “Hello, World!” é um clássico tradicional, consagrado pelo tempo em programação de computadores. É um programa inicial, simples e completo para iniciantes e é uma boa maneira de garantir que seu ambiente esteja devidamente configurado.

      Este tutorial explicará sobre como criar esse programa em Go. No entanto, para tornar o programa mais interessante, você vai modificar o programa tradicional “Hello, World!” para que ele pergunte ao usuário pelo seu nome. Então, o nome será utilizado na saudação. Quando terminar com o tutorial, você terá um programa que se parece com este quando executá-lo:

      Output

      Please enter your name. Sammy Hello, Sammy! I'm Go!

      Pré-requisitos

      Antes de iniciar este tutorial, você vai precisar de um ambiente local de desenvolvimento em Go configurado em seu computador. Para configurar um ambiente de desenvolvimento local em Go, você pode seguir um destes tutoriais:

      Passo 1 — Escrevendo o programa básico “Hello, World!”

      Para escrever o programa “Hello, World!” , abra um editor de texto de linha de comando como o nano e crie um novo arquivo:

      Assim que o arquivo de texto se abrir na janela do terminal, você digitará o seu programa:

      hello.go

      package main
      
      import "fmt"
      
      func main() {
        fmt.Println("Hello, World!")
      }
      

      Vamos desdobrar os diferentes componentes do código.

      package é uma palavra-chave da linguagem Go que define a qual pacote de código esse arquivo pertence. Só pode haver um pacote por pasta e cada arquivo .go deve declarar o mesmo nome de pacote no topo de seu arquivo. Neste exemplo, o código pertence ao pacote main.

      import é uma palavra-chave da linguagem Go que diz ao compilador de Go quais outros pacotes você quer usar neste arquivo. Aqui, você importará o pacote fmt que vem com a biblioteca padrão. O pacote fmt fornece funções de formatação e impressão que podem ser úteis durante o desenvolvimento.

      A fmt.PrintIn é uma função da linguagem Go, encontrada no pacote fmt, que diz ao computador para imprimir um texto na tela.

      A função fmt.Println vem seguida por uma sequência de caracteres, como "Hello, World!", entre aspas. Quaisquer caracteres que estiverem entre aspas são chamados de string. A função fmt.Println imprimirá essa string na tela quando o programa for executado.

      Salve e saia do nano, digitando CTRL + X e, quando for solicitado a salvar o arquivo, pressione Y.

      Agora, você pode testar seu programa.

      Passo 2 — Executando um programa em Go

      Com seu programa “Hello, World!” escrito, você está pronto para executar o programa. Você usará o comando go, seguido do nome do arquivo que você acabou de criar.

      O programa será executado e exibirá este resultado:

      Output

      Hello, World!

      Vamos explorar o que realmente aconteceu.

      Os programas em Go precisam compilar antes de serem executados. Quando você chama go run com o nome de um arquivo, neste caso hello.go, o comando go compilará o aplicativo e executará o binário resultante. Para os programas escritos em linguagens de programação compiladas, um compilador receberá o código fonte de um programa e gerará outro tipo de código de nível inferior (como um código de máquina) para produzir um programa executável.

      Os aplicativos em Go requerem um pacote main e exatamente uma função main(), que serve como ponto de entrada para o aplicativo. A função main não recebe argumentos e não retorna valores. Em vez disso, ela diz ao compilador de Go que o pacote deve ser compilado como um pacote executável.

      Uma vez compilado, o código é executado ao inserirmos a função main() no pacote main. Ele executa a linha fmt.Println("Hello, World!") ao chamar a função fmt.Println. O valor da string Hello, World! é enviado, em seguida, para a função. Neste exemplo, a string Hello, World! é também chamada de um argumento, uma vez que é um valor que é enviado para um método.

      As aspas que estão em ambos os lados do Hello, World! não são impressas na tela porque você as utiliza para dizer ao Go onde sua string começa e onde termina.

      Neste passo, você criou um programa funcional “Hello, World!” com o Go. No passo a seguir, você explorará como tornar o programa mais interativo.

      Passo 3 — Solicitando entrada do usuário

      Toda vez que você executa seu programa, ele produz o mesmo resultado. Neste passo, você poderá adicionar ao seu programa a solicitação de nome para o usuário. Então, seu nome será utilizado na saída.

      Em vez de modificar seu programa já existente, crie um novo programa chamado greeting.go com o editor nano:

      Primeiro, adicione este código, que solicita que o usuário digite seu nome:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
      }
      

      Novamente, você usa a função fmt.Println para imprimir algum texto na tela.

      Agora, adicione a linha destacada para armazenar a entrada do usuário:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
        var name string
      }
      

      A linha var name string criará uma nova variável usando a palavra-chave var. Nomeie a variável de name e ela será do tipo string.

      Então, adicione a linha destacada para capturar a entrada do usuário:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
        var name string
        fmt.Scanln(&name)
      }
      

      O método fmt.Scanln diz ao computador para esperar o términdo da entrada do teclado com uma nova linha ou caractere (n). Isso pausa o programa, permitindo que o usuário digite qualquer texto que quiser. O programa continuará quando o usuário pressionar a tecla ENTER em seu teclado. Todos as teclas pressionadas, incluindo a tecla ENTER, são então capturadas e convertidas em uma string de caracteres.

      Você quer usar esses caracteres na saída do seu programa, então salve esses caracteres,* escrevendo-os na *variável string chamada name. O Go armazena aquela string na memória do seu computador até que o programa termine de executar.

      Por fim, adicione a seguinte linha destacada em seu programa para que imprima o resultado:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
        var name string
        fmt.Scanln(&name)
        fmt.Printf("Hi, %s! I'm Go!", name)
      }
      

      Desta vez, em vez de usar o método fmt.Println novamente, você estará usando o fmt.Printf. A função fmt.Printf recebe uma string e, fazendo uso de verbos especiais de impressão, (%s), ela injeta o valor de name na string. Faça isso porque o Go não oferece suporte à interpolação de strings, o que deixaria que você levasse o valor atribuído até uma variável e o colocasse dentro de uma string.

      Salve e saia do nano, pressionando CTRL + X e pressione Y quando solicitado a salvar o arquivo.

      Agora, execute o programa. Você será solicitado a colocar seu nome; assim, digite-o e pressione ENTER. O resultado pode não ser exatamente o que você espera:

      Output

      Please enter your name. Sammy Hi, Sammy ! I'm Go!

      Em vez de Hi, Sammy! I'm Go!, há uma linha de quebra logo após o nome.

      O programa capturou todas as teclas que pressionamos, incluindo a tecla ENTER que pressionamos para dizer ao programa para continuar. Em uma string, pressionar a tecla ENTER cria um caractere especial que cria uma nova linha. O resultado do programa está fazendo exatamente o que lhe foi solicitado; está exibindo o texto que você digitou, incluindo essa nova linha. Não é o resultado que você esperava ver, mas você pode corrigi-lo com funções adicionais.

      Abra o arquivo greeting.go no seu editor:

      Localize esta linha em seu programa:

      greeting.go

      ...
      fmt.Scanln(&name)
      ...
      

      Adicione a linha a seguir logo após a linha anterior:

      greeting.go

      name = strings.TrimSpace(name)
      

      Esse arquivo utiliza a função TrimSpace - do pacote de strings da biblioteca padrão de Go - na string que você capturou com a fmt.Scanln. A função strings.TrimSpace remove todos os caracteres de espaço, incluindo novas linhas - do início e do final de uma string. Neste caso, ela remove o caractere da nova linha ao final da string criada quando o ENTER tiver sido pressionado.

      Para usar o pacote strings, você precisa importá-lo no topo do programa.

      Localize estas linhas em seu programa:

      greeting.go

      import (
          "fmt"
      )
      

      Adicione a seguinte linha para importar o pacote strings:

      greeting.go

      import (
          "fmt"
        "strings"
      )
      

      Seu programa agora terá o seguinte:

      greeting.go

      package main
      
      import (
              "fmt"
              "strings"
      )
      
      func main() {
          fmt.Println("Please enter your name.")
          var name string
          fmt.Scanln(&name)
          fmt.Printf("Hi, %s! I'm Go!", name)
          name = strings.TrimSpace(name)
      }
      

      Salve e saia do nano. Pressione CTRL + X e, em seguida, pressione Y quando for solicitado a salvar o arquivo.

      Execute o programa novamente:

      Desta vez, após digitar seu nome e pressionar ENTER, você receberá o resultado esperado:

      Output

      Please enter your name. Sammy Hi, Sammy! I'm Go!

      Agora, você tem um programa Go que recebe a entrada de um usuário e a imprime de volta na tela.

      Conclusão

      Neste tutorial, você escreveu um programa “Hello, World!” que recebe a entrada de um usuário, processa os resultados e exibe o resultado. Agora que você tem um programa básico com o qual trabalhar, tente expandi-lo ainda mais. Por exemplo, pergunte a cor favorita do usuário e faça o programa dizer que sua cor favorita é vermelho. Você pode até tentar usar essa mesma técnica para criar um programa Mad-Lib simples.



      Source link

      Cómo escribir su primer programa en Go


      Introducción

      El programa “Hello, World!” es un clásico y una tradición reconocida en la programación computacional. Se trata de un primer programa sencillo y completo para principiantes y es una buena alternativa para garantizar que su entorno se configure de manera adecuada.

      Este tutorial le servirá como guía para crear este programa en Go. Sin embargo, para hacer que el programa sea más interesante, modificará el programa tradicional “Hello, World!” a fin de que solicite al usuario su nombre. Luego usará el nombre en el saludo. Al completar el tutorial, obtendrá un programa que tendrá el siguiente aspecto cuando lo ejecute:

      Output

      Please enter your name. Sammy Hello, Sammy! I'm Go!

      Requisitos previos

      Antes de comenzar este tutorial, deberá disponer de un entorno de desarrollo local de Go configurado en su computadora. Puede configurarlo a través de uno de los siguientes tutoriales:

      Paso 1: Escribir el programa básico “Hello, World!”

      Para escribir el programa “Hello, World!”, abra un editor de texto de línea de comandos como nano y cree un nuevo archivo:

      Una vez que el archivo de texto se abra en la ventana del terminal, escribirá su programa:

      hello.go

      package main
      
      import "fmt"
      
      func main() {
        fmt.Println("Hello, World!")
      }
      

      Desglosaremos los diferentes componentes del código.

      package es una palabra clave de Go que define el paquete de código al que pertenece este archivo. Solo puede haber un paquete por carpeta y cada archivo .go debe declarar el mismo nombre de paquete en la parte superior de su archivo. En este ejemplo, el código pertenece al paquete main.

      import es una palabra clave de Go que indica al compilador de Go los demás paquetes que quiere usar en este archivo. Aquí, se importa el paquete fmt que viene con la biblioteca estándar. El paquete fmt proporciona funciones de formato e impresión que pueden ser útiles en el desarrollo.

      fmt.Println es una función de Go que se encuentra en el paquete fmt e indica a la computadora que imprima texto en la pantalla.

      Se sigue la función fmt.Println con una secuencia de caracteres, como “Hello, World!”, escrita entre comillas. Todos los caracteres que se encuentran entre comillas se conocen como cadenas. La función fmt.Println imprimirá estas cadenas en la pantalla cuando se ejecute el programa.

      Guarde y cierre nano escribiendo CTRL + X. Cuando se le pregunte si desea guardar el archivo, pulse Y.

      Ahora podrá probar su programa.

      Paso 2: Ejecutar un programa de Go

      Una vez que escriba su programa “Hello, World!”, estará listo para la ejecución. Usará el comando go, seguido del nombre del archivo que acaba de crear.

      El programa ejecutará y mostrará este resultado:

      Output

      Hello, World!

      Analizaremos lo que realmente sucedió.

      Los programas de Go deben compilarse antes de su ejecución. Cuando invoque a go run con el nombre de un archivo, en este caso hello.go, el comando go compilará la aplicación y luego ejecutará el binario resultante. Para los programas escritos en lenguajes de programación compilados, un compilador tomará el código fuente de un programa y generará otro tipo de código de bajo nivel (como el código de máquina) para producir un programa ejecutable.

      Las aplicaciones de Go requieren un paquete main y precisamente una función main() que sirva como punto de entrada para ellas. La función main no recibe argumentos ni muestra valores. En lugar de ello, indica al compilador de Go que el paquete debe compilarse como un paquete ejecutable.

      Una vez que este se compila, se ejecuta el código ingresando la función main() en el paquete main. Ejecuta la línea fmt.Println(“Hello, World!”) llamando a la función fmt.Println. El valor de la cadena de Hello, World! luego se pasa a la función. En este ejemplo, la cadena Hello, World! también se conoce como argumento porque es un valor que se pasa a un método.

      Las citas que están en ambos lados de Hello, World! no se imprimen en la pantalla porque se utilizan para indicar a Go dónde comienza y termina su cadena.

      Siguiendo este paso, creó un programa funcional “Hello, World!” con Go. En el siguiente paso, aprenderá a hacer que el programa sea más interactivo.

      Paso 3: Solicitar entradas del usuario

      Cada vez que ejecuta su programa, produce el mismo resultado. En este paso, puede agregar a su programa la función para que solicite el nombre del usuario. Luego usará el nombre de este en el resultado.

      En lugar de modificar su programa existente, cree uno nuevo llamado greeting.go con el editor nano:

      Primero, añada este código, el cual solicita al usuario que ingrese su nombre:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
      }
      

      Una vez más, utilice la función fmt.Println para imprimir texto en la pantalla.

      Añada ahora la línea resaltada para almacenar la entrada del usuario:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
        var name string
      }
      

      La línea var name string creará una nueva variable usando la palabra clave var. Se asigna a la variable el nombre name y pertenece al tipo string.

      A continuación, añada la línea resaltada para capturar la entrada del usuario:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
        var name string
        fmt.Scanln(&name)
      }
      

      El método fmt.Scanln indica a la computadora que espere una entrada del teclado que termine con una nueva línea o (n), carácter. Esto hace que el programa se detenga, lo cual permite que el usuario introduzca cualquier texto que desee. El programa se reanudará cuando el usuario presione la tecla ENTER en su teclado. Todas las pulsaciones de teclas, incluida la de la tecla ENTER, se capturan y se convierten en una cadena de caracteres.

      Le convendrá usar esos caracteres en el resultado de su programa, por lo que los guardará escribiéndolos en la variable de cadena llamada name. Go almacena esa cadena en la memoria de su computadora hasta que el programa termine de ejecutarse.

      Por último, añada la siguiente línea resaltada en su programa para imprimir el resultado:

      greeting.go

      package main
      
      import (
          "fmt"
      )
      
      func main() {
        fmt.Println("Please enter your name.")
        var name string
        fmt.Scanln(&name)
        fmt.Printf("Hi, %s! I'm Go!", name)
      }
      

      Esta vez, en lugar de usar de nuevo el método fmt.Println, empleará fmt.Println. La función fmt.Printf toma una cadena y al utilizar verbos especiales de impresión, (%s), inserta el valor de name en la cadena. Se requiere esto porque Go no admite la interpolación de cadenas, lo cual le permitiría tomar el valor asignado a una variable y disponerlo dentro de una cadena.

      Guarde y cierre nano presionando CTRL + X, y presione Y cuando se le pregunte si desea guardar el archivo.

      Ahora ejecute el programa. Se le solicitará su nombre; introdúzcalo y presione ENTER. Es posible que resultado no sea exactamente el que espera:

      Output

      Please enter your name. Sammy Hi, Sammy ! I'm Go!

      En lugar de Hi, Sammy! I'm Go!, hay una salto de línea inmediatamente después del nombre.

      El programa capturó todas sus pulsaciones de teclas, incluida la tecla ENTER que presionamos para indicar al programa que continúe. En una cadena, al presionar la tecla ENTER se crea un carácter especial que crea una nueva línea. El resultado del programa cumple exactamente con lo que usted indicó; muestra el texto que ingresó, incluida esa nueva línea. No es lo que esperaba del resultado, pero puede corregirlo con funciones adicionales.

      Abra el archivo greeting.go en su editor:

      Ubique la siguiente línea en su programa:

      greeting.go

      ...
      fmt.Scanln(&name)
      ...
      

      Añada la siguiente línea justo después de esta:

      greeting.go

      name = strings.TrimSpace(name)
      

      Esto utiliza la función TrimSpace, del paquete strings de la biblioteca estándar de Go, en la cadena que capturó con fmt.Scanln. La función strings.TrimSpace elimina todos los caracteres de espacio, incluidas las líneas nuevas, del inicio y del final de una cadena. En este caso, elimina el carácter de nueva línea al final de la cadena que se creó cuando presionó ENTER.

      Para usar el paquete strings deberá importarlo en la parte superior del programa.

      Ubique las siguientes líneas en su programa:

      greeting.go

      import (
          "fmt"
      )
      

      Añada la siguiente línea para importar el paquete strings:

      greeting.go

      import (
          "fmt"
        "strings"
      )
      

      Su programa ahora contendrá lo siguiente:

      greeting.go

      package main
      
      import (
              "fmt"
              "strings"
      )
      
      func main() {
          fmt.Println("Please enter your name.")
          var name string
          fmt.Scanln(&name)
          fmt.Printf("Hi, %s! I'm Go!", name)
          name = strings.TrimSpace(name)
      }
      

      Guarde y cierre nano. Presione CTRL + X y luego Y cuando se le solicite guardar el archivo.

      Ejecute el programa de nuevo:

      Esta vez, después de ingresar su nombre y presionar ENTER, obtendrá el resultado esperado:

      Output

      Please enter your name. Sammy Hi, Sammy! I'm Go!

      Ahora, contará con un programa de Go que obtiene entradas de un usuario y las imprime de vuelta en la pantalla.

      Conclusión

      A través de este tutorial, escribió un programa “Hello, World!” que obtiene entradas de un usuario, procesa el producto y muestra el resultado. Ahora que dispone de un programa básico con el que trabajará, intente ampliarlo. Por ejemplo, solicite el color favorito del usuario y haga que el programa diga que su color favorito es el rojo. Puede, incluso, intentar usar esta misma técnica para crear un programa sencillo de Mad-Lib.



      Source link