Você está aqui: GoLang ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como retornar o tamanho de um array em Go usando a função len()

Quantidade de visualizações: 368 vezes
Nesta dica mostrarei como podemos retornar a quantidade de itens em um array unidimensional na linguagem Go usando a função len(). Esta função retorna a quantidade de elementos no array.

Veja o código Golang completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "fmt"
)
  
// esta é a função principal do programa
func main() {
  // vamos criar um array de 5 inteiros
  valores := [...]int{5, 1, 8, 7, 3}
  
  // vamos retornar a quantidade de itens do array 
  var tamanho int = len(valores)
  
  // e mostramos o resultado
  fmt.Printf("O array possui %d elementos", tamanho)
}

Ao executar este código Go nós teremos o seguinte resultado:

O array possui 5 elementos

Link para compartilhar na Internet ou com seus amigos:

GoLang ::: Desafios e Lista de Exercícios Resolvidos ::: Geometria, Trigonometria e Figuras Geométricas

Exercícios Resolvidos de Golang - Como calcular a área de um losango em Go

Quantidade de visualizações: 910 vezes
Pergunta/Tarefa:

Um losango é um quadrilátero equilátero, ou seja, é um polígono formado por quatro lados de igual comprimento. Um losango é também um paralelogramo. Alguns autores exigem ainda que nenhum dos ângulos do quadrilátero seja reto para que ele seja considerado um losango.

A área (em metros quadrados) de um losango pode ser calculada usando-se a seguinte fórmula:



Onde D1 é a diagonal maior e D2 é a diagonal menor.

Escreva um programa Golang que leia a diagonal maior e a diagonal menor e calcule a área do losango. Sua saída deverá ser parecida com:

Informe a medida da diagonal maior: 5
Informe a medida da diagonal menor: 10
A área (em metros quadrados) do losango é: 25
Resposta/Solução:

Veja a resolução comentada deste exercício usando Go:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var diagonal_maior, diagonal_menor int
  var area float32
	
  // vamos ler os valores das diagonais maior e menor
  fmt.Print("Informe a medida da diagonal maior: ")
  fmt.Scanln(&diagonal_maior)
  fmt.Print("Informe a medida da diagonal menor: ")
  fmt.Scanln(&diagonal_menor)
  
  // calcula a area do losango
  area = float32((diagonal_maior * diagonal_menor)) / 2
  // mostra o resultado
  fmt.Printf("A área (em metros quadrados) é: %.2f",
    area)
}



GoLang ::: Fundamentos da Linguagem ::: Laços

Como usar o laço for em GoLang - O laço for da linguagem Go

Quantidade de visualizações: 861 vezes
Como todas (ou praticamente todas) as linguagens de programação, a GoLang também possui o seu laço for, ou loop for. Este laço é usado para repetir uma ou mais instruções quando sabemos exatamente quantas vezes essa repetição ocorrerá.

Em Go, o laço for é composto de três partes: inicialização, teste de continuidade e incremento ou decremento da variável de controle. Na parte da inicialização nós declaramos e inicializamos as variáveis que serão usadas dentro da estrutura. O teste de continuidade é a parte na qual verificamos se o laço deverá continuar repetindo ou encerrar. Finalmente, a parte de incremento ou decremento é usada para ajustarmos a variável de controle do laço.

Veja, por exemplo, como escrever um laço for em GoLang que contará de 1 até 10, escrevendo os números na tela:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"

// esta é a função principal do programa
func main() {
  for i := 1; i <= 10; i++ {  
    fmt.Printf("%d  ", i)  
  }  
}

Ao executar este código Go nós teremos o seguinte resultado:

1 2 3 4 5 6 7 8 9 10

O laço for da linguagem GoLang nos permite omitir as partes da inicialização e de incremento ou decremento, embora esse tipo de código não seja muito usual.

Veja um trecho de código no qual usamos o laço for da linguagem Go para contar de 10 até 0 (omitindo a parte da inicialização da variável de controle):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"

// esta é a função principal do programa
func main() {
  i := 10 // definimos o valor inicial aqui
  
  for ; i >= 0; i-- {  
    fmt.Printf("%d  ", i)  
  }  
}

Ao executarmos este código Go nós teremos o seguinte resultado:

10 9 8 7 6 5 4 3 2 1 0

Veja, agora, uma modificação do código acima. Desta vez eu omiti a parte de incremento ou decremento da variável de controle:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// pacote principal
package main

// vamos importar o módulo de formatação de
// entrada e saída
import "fmt"

// esta é a função principal do programa
func main() {
  for i := 10; i >= 0; {  
    fmt.Printf("%d  ", i)
    i--	
  }  
}



GoLang ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString()

Quantidade de visualizações: 770 vezes
Em algumas situações nós precisamos obter e retornar o tamanho de uma string, ou seja, a quantidade de caracteres em uma palavra, frase ou texto. Para isso nós podemos duas funções na linguagem Go: len() e RuneCountInString().

O método len() retorna a quantidade de bytes contidos em uma string. Note, porém, que esta função não é recomendada quando estamos lidando com caracteres do conjunto utf8, que requerem dois bytes. Dessa forma, se estivermos certos de que a string não possui acentos ou caracteres especiais, então o método len() é o mais adequado.

Veja um trecho de código Golang no qual pedimos para o usuário informar uma palavra ou frase e em seguida nós informamos a quantidade de caracteres contidos nela:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "bufio"
  "fmt"
  "os"
  "strings"
)
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var frase string
  var tamanho int
  
  // vamos pedir para o usuário informar uma
  // palavra ou frase
  fmt.Print("Informe uma palavra ou frase: ")
  var entrada = bufio.NewReader(os.Stdin)
  frase, _ = entrada.ReadString('\n')  
  frase = strings.TrimSpace(frase)	
	
  // vamos obter o tamanho da string
  tamanho = len(frase)
  
  // e mostramos o resultado
  fmt.Printf("A palavra ou frase contém %d caracteres",
    tamanho)
}

Ao executarmos este código Go nós teremos o seguinte resultado:

Informe uma palavra ou frase: Gosto de Python
A palavra ou frase contém 15 caracteres

Se contarmos a quantidade de caracteres na string informada, realmente veremos que o código retornou o resultado esperado. O problema acontece quando informamos uma palavra ou frase com acentos ou caracteres especiais. Experimente e veja que a função len() começa a retornar uma contagem estranha.

Quando nossas strings possuem caracteres especiais ou com acentos, a função a ser usada é RuneCountInString(). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

// pacote principal
package main

// vamos importar os módulos necessários
import (
  "bufio"
  "fmt"
  "os"
  "unicode/utf8"
  "strings"
)
  
// esta é a função principal do programa
func main() {
  // variáveis que vamos usar na resolução do problema
  var frase string
  var tamanho int
  
  // vamos pedir para o usuário informar uma
  // palavra ou frase
  fmt.Print("Informe uma palavra ou frase: ")
  var entrada = bufio.NewReader(os.Stdin)
  frase, _ = entrada.ReadString('\n')  
  frase = strings.TrimSpace(frase)	
	
  // vamos obter o tamanho da string
  tamanho = utf8.RuneCountInString(frase)
  
  // e mostramos o resultado
  fmt.Printf("A palavra ou frase contém %d caracteres",
    tamanho)
}

Ao executarmos este novo código nós teremos o resultado:

Informe uma palavra ou frase: Código
A palavra ou frase contém 6 caracteres


Vamos testar seus conhecimentos em

Dimensionamento de pilares intermediários

Para efeito de projeto, existem três tipos de pilar: extremidade, intermediário e de canto. Cada pilar é calculado de acordo com sua classificação.

Eduarda foi contratada para realizar o projeto estrutural de uma edificação. No pilar 5 (pilar intermediário), Eduarda calculou o índice de esbeltez nas duas direções (x,y) e verificou o efeito local de 2ª ordem nas duas direções.

Dados: Nk = 600kN
Dimensão = 20cm × 30cm
lex = ley = 280cm

Quais resultados Eduarda obteve?

A) Índice de esbeltez na direção x: 48,34.
Índice de esbeltez na direção y: 31,29.

B) Índice de esbeltez na direção x: 32,29.
Índice de esbeltez na direção y: 32,29.

C) Índice de esbeltez na direção x: 48,44.
Índice de esbeltez na direção y: 32,29.

D) Índice de esbeltez na direção x: 38,44.
Índice de esbeltez na direção y: 62,29.

E) Índice de esbeltez na direção x: 18,44.
Índice de esbeltez na direção y: 22,29.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica

O manômetro

Um manômetro é o instrumento utilizado para medir a pressão de fluidos contidos em recipientes fechados. O manômetro para medição da pressão absoluta é usado quando pressões devem ser medidas, independentemente da pressão atmosférica. A pressão do meio medido é determinada contra uma pressão de referência, sendo que esta última corresponde ao ponto zero da pressão absoluta.

Nesse contexto, determine a pressão manométrica em P devido à deflexão do mercúrio do manômetro em U da figura a seguir.



A) Aproximadamente 77kPa.

B) Aproximadamente 89kPa.

C) Aproximadamente 94kPa.

D) Aproximadamente 106kPa.

E) Aproximadamente 111kPa.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

# cria uma lista
valores = [1, 2, 3, 4]
valores[1], valores[2] = 5, 7
print(valores)

A) Um erro de execução na linha 2

B) [5, 7, 5, 7]

C) [4, 2, 3, 1]

D) TypeError: cannot unpack non-iterable int object

E) [1, 5, 7, 4]
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

Quantas são as unidades hidrográficas presentes no território do Brasil?

A) 10.

B) 11.

C) 12.

D) 15

E) 26.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual é a forma correta de adicionar comentários de uma linha em JavaScript?

A) <!-- Este é um comentário -->

B) // Este é um comentário

C) ' Este é um comentário

D) # Este é um comentário
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de GoLang

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 59 usuários muito felizes estudando em nosso site.