![Um guia do desenvolvedor para usar o Glamorous Toolkit no protocolo AT](https://optimuscloud.com.br/wp-content/uploads/2024/06/1717850644_Um-guia-do-desenvolvedor-para-usar-o-Glamorous-Toolkit-no-150x150.jpg)
Um guia do desenvolvedor para usar o Glamorous Toolkit no protocolo AT
8 de junho de 2024![Habilidades em Linux: gerenciar serviços do sistema](https://optimuscloud.com.br/wp-content/uploads/2024/06/1717946524_Habilidades-em-Linux-gerenciar-servicos-do-sistema-150x150.jpg)
Habilidades em Linux: gerenciar serviços do sistema
9 de junho de 2024As funções são parte integrante da programação. Sem eles, criar aplicativos seria exponencialmente mais desafiador (se não impossível).
Essencialmente, funções são módulos independentes que realizam uma tarefa. Normalmente existem quatro tipos de funções na programação de computadores: funções sem argumentos ou valores de retorno; funções sem argumentos e com valor de retorno; funções com argumentos e sem valores de retorno; e funções com argumentos e valores de retorno.
Quase todas as linguagens de programação modernas incluem funções pré-construídas que podem ser usadas continuamente para simplificar o fluxo de trabalho. As funções servem como blocos de construção básicos para a linguagem Go. Com Go, existem funções de primeira classe, funções de ordem superior, literais de função, fechamentos e vários valores de retorno.
Um dos tipos de funções mais importantes para Go é a função definida pelo usuário (UDF), que é uma função criada pelo programador para servir a um propósito específico dentro de um aplicativo. As UDFs podem ser criadas uma vez e chamadas diversas vezes em um aplicativo.
Uma função começa com o func
palavra-chave e geralmente é formatado assim:
func name() { … }
Isso é bastante normal.
Vamos criar uma função básica e depois chamá-la dentro do programa. Nossa função será chamada add()
e adicionará dois números inteiros. Nossa função fica assim:
func add(a int, b int) int { return a + b }
Nós usamos o return
palavra-chave porque queremos que nossa função retorne o valor de a
e b
.
Com nossa função básica criada, agora é hora de chamá-la mais tarde na aplicação. Para nossos propósitos, vamos chamar a função dentro de um main()
função. Lembre o main()
função é diferente da main
pacote e atua como um ponto de entrada para código executável em seus programas. Em outras palavras, é necessário.
Nosso main()
A função (que incluirá a chamada para nossa UDF) fica assim:
} func main() { fmt.Println("The total of a + b equals", add(42, 13)) }
O que fizemos aqui foi chamar nossa função dentro do Println
função (do pacote fmt) e definida a
como 42 e b
como 13. Nosso aplicativo inteiro se parece com isto:
package main import "fmt" func add(a int, b int) int { return a + b } func main() { fmt.Println("The total of a + b equals", add(42, 13)) }
Salve esse arquivo como function.go
e execute-o com o comando:
go run function.go
A saída deve ser:
O total de a + b é igual a 55
E se quiséssemos aceitar a entrada de um usuário para nossa função? Podemos fazer isso também, com a adição do scan()
função. Deixa-me mostrar-te como.
A primeira parte do nosso aplicativo terá a mesma aparência:
package main import "fmt" func add(a int, b int) int { return a + b }
Teremos então que modificar o nosso main()
função para definir num1
e num2
como tipo integer
e use tanto o fmt.Print()
e fmt.Scan()
funções para primeiro imprimir instruções e depois aceitar a entrada.
Nós definimos num1
e num2
assim:
var num1 int var num2 int
Nosso primeiro Print
/Scan
combinação é para num1
e fica assim:
fmt.Print("Enter a number for a: ") fmt.Scan(&num1)
O que as duas linhas acima fazem é instruir o usuário a digitar um número e então definir num1
como o valor digitado pelo usuário. Fazemos a mesma coisa para num2
com estas duas linhas:
fmt.Print("Enter a number for b: ") fmt.Scan(&num2)
Em seguida, imprimimos uma linha final e chamamos nosso add()
funciona com o seguinte:
fmt.Println("The total of a + b equals", add(num1, num2))
O aplicativo inteiro fica assim:
package main import "fmt" func add(a int, b int) int { return a + b } func main() { var num1 int var num2 int fmt.Print("Enter a number for a: ") fmt.Scan(&num1) fmt.Print("Enter a number for b: ") fmt.Scan(&num2) fmt.Println("The total of a + b equals", add(num1, num2)) }
Salve esse arquivo como input.go
e execute-o com este comando:
go run input.go
Você será solicitado a digitar um número para a
e digite um número para b
. Esses dois números serão somados e a saída será:
O total de a + b é igual a X
Onde X é o resultado dos dois números inseridos.
Também poderíamos condensar isso tomando múltiplas entradas com fmt.Scan()
. Para isso, alteraríamos a função assim:
func main() { var num1 int var num2 int fmt.Print("Enter a number for a and one for b: ") fmt.Scan(&num1, &num2) fmt.Println("The total of a + b equals", add(num1, num2)) }
Ainda chamamos a função da mesma maneira. A única coisa que mudou é a forma como recebemos informações do usuário.
Aqui está outra pequena função divertida que podemos criar. Isso pegará duas strings em uma ordem e as imprimirá na ordem inversa. Temos a chamada habitual para o main
e fmt
pacotes:
package main import "fmt"
Nossa função então fica assim:
func swap(x, y string) (string, string) { return y, x }
O que isso faz é definido x
e y
como strings, mas os retorna na ordem inversa (y, x).
Criamos então uma nova função que chama swap()
e inicializa a
e b
como dois valores diferentes inseridos pelo usuário, mas quando chamado, inverte os valores. Esta função se parece com isto:
func main() { var name1 string var name2 string fmt.Print("Type your first and last names") fmt.Scan(&name1, &name2) a, b := swap(name1, name2) fmt.Println(a, b) }
Todo o nosso programa é assim:
package main import "fmt" func swap(x, y string) (string, string) { return y, x } func main() { var name1 string var name2 string fmt.Print("Type your first and last names ") fmt.Scan(&name1, &name2) a, b := swap(name1, name2) fmt.Println(a, b) }
Salve isso como swap.go
e execute-o:
go run swap.go
O aplicativo solicitará que você digite seu nome e sobrenome. Pressione a tecla Enter e esses dois nomes serão impressos ao contrário.
E é assim que você constrói sua primeira função em Go. Você descobrirá que funções pré-construídas e definidas pelo usuário são uma necessidade para a linguagem de programação Go.
A postagem Construa sua função First Go apareceu pela primeira vez em The New Stack.