Indique um curso   |   Siga nas redes sociais
YouCourse
Menu
Sign In / Up

Faça login em sua conta ou cadastre-se para ter controle total, salvar cursos, receber bônus e muito mais.

Entrar

Novo usuário? Criar Conta

Sign In / Up
  • TI e software
    • Hardware
      • Raspberry Pi
      • Raspberry
      • Arduino
    • Sistemas Operacionais
      • Linux
    • Outros
    • Rede e segurança
      • Monitoramento de rede
      • Hacking Ético
  • Produtividade no escritório
    • SAP
      • SAP
    • Apple
      • macOS
    • Microsoft
      • Word
      • Pacote Office
      • Power Bi
      • Excel
    • Oracle
      • Oracle Business Intelligence
    • Google
      • Google Drive
  • Desenvolvimento
    • Outros
    • Ferramentas de Desenvolvimento
      • DevOps
      • Docker
      • Git
    • Linguagens de programação
      • Python
      • Go (linguagem de programação)
      • c plus plus
      • Java
      • Framework Spring
      • Laravel
      • Programação orientada a objetos
      • Node.Js
      • C#
      • Ruby on Rails
    • Teste de Software
    • Banco de Dados
      • SQL Server
      • Oracle SQL
      • SQL
      • MongoDB
      • Modelagem de dados
      • MySQL
    • Desenvolvimento de Games
      • Blender
      • Unreal Engine
      • Unity
      • Programação em Scratch
    • E-Commerce
      • WooCommerce
      • Magento
    • Aplicativos móveis
      • Quasar
      • Google Flutter
      • Ionic
      • Kotlin
      • Java Android
      • Swift
      • React Native
    • Desenvolvimento Web
      • React
      • CSS
      • JavaScript
      • HTML
      • Django
      • Angular
      • DotNet
      • VueJs
      • WordPress
      • PHP
  • Estilo de vida
    • Alimentos e bebidas
      • Culinária
    • Artes e artesanato
      • Desenho
    • Jogos
      • Xadrez
    • Cuidados com animais e adestramento
      • Adestramento de cães
    • Beleza e maquiagem
      • Beleza
      • Maquiagem
  • Design
    • Design gráfico
      • CorelDRAW
      • Illustrator
      • InDesign
    • Web Design
      • Bootstrap
      • Photoshop
      • FlexBox
      • UI-UX
  • Ensino e estudo acadêmico
    • Treinamento de professores
      • Camtasia
    • Idioma
      • Coreano
      • Alemão
      • Francês
      • Latim
      • Inglês
      • Libras
    • Educação online
      • Google Classroom
  • Negócios
    • Dados e Análises
      • Análise de dados
      • Data Science
    • Empreendedorismo
      • Startup
      • Plano de negócios
      • Impressão para camisetas
    • Vendas
      • Linkedin
    • Administração
      • Scrum
  • Marketing
    • Marketing Digital
      • Google Analytcs
      • Google Ads
    • Marketing de redes sociais
      • Marketing no Facebook
      • Canva
      • Instagram
YouCourse
  • TI e software
    • Hardware
      • Raspberry Pi
      • Raspberry
      • Arduino
    • Sistemas Operacionais
      • Linux
    • Outros
    • Rede e segurança
      • Monitoramento de rede
      • Hacking Ético
  • Produtividade no escritório
    • SAP
      • SAP
    • Apple
      • macOS
    • Microsoft
      • Word
      • Pacote Office
      • Power Bi
      • Excel
    • Oracle
      • Oracle Business Intelligence
    • Google
      • Google Drive
  • Desenvolvimento
    • Outros
    • Ferramentas de Desenvolvimento
      • DevOps
      • Docker
      • Git
    • Linguagens de programação
      • Python
      • Go (linguagem de programação)
      • c plus plus
      • Java
      • Framework Spring
      • Laravel
      • Programação orientada a objetos
      • Node.Js
      • C#
      • Ruby on Rails
    • Teste de Software
    • Banco de Dados
      • SQL Server
      • Oracle SQL
      • SQL
      • MongoDB
      • Modelagem de dados
      • MySQL
    • Desenvolvimento de Games
      • Blender
      • Unreal Engine
      • Unity
      • Programação em Scratch
    • E-Commerce
      • WooCommerce
      • Magento
    • Aplicativos móveis
      • Quasar
      • Google Flutter
      • Ionic
      • Kotlin
      • Java Android
      • Swift
      • React Native
    • Desenvolvimento Web
      • React
      • CSS
      • JavaScript
      • HTML
      • Django
      • Angular
      • DotNet
      • VueJs
      • WordPress
      • PHP
  • Estilo de vida
    • Alimentos e bebidas
      • Culinária
    • Artes e artesanato
      • Desenho
    • Jogos
      • Xadrez
    • Cuidados com animais e adestramento
      • Adestramento de cães
    • Beleza e maquiagem
      • Beleza
      • Maquiagem
  • Design
    • Design gráfico
      • CorelDRAW
      • Illustrator
      • InDesign
    • Web Design
      • Bootstrap
      • Photoshop
      • FlexBox
      • UI-UX
  • Ensino e estudo acadêmico
    • Treinamento de professores
      • Camtasia
    • Idioma
      • Coreano
      • Alemão
      • Francês
      • Latim
      • Inglês
      • Libras
    • Educação online
      • Google Classroom
  • Negócios
    • Dados e Análises
      • Análise de dados
      • Data Science
    • Empreendedorismo
      • Startup
      • Plano de negócios
      • Impressão para camisetas
    • Vendas
      • Linkedin
    • Administração
      • Scrum
  • Marketing
    • Marketing Digital
      • Google Analytcs
      • Google Ads
    • Marketing de redes sociais
      • Marketing no Facebook
      • Canva
      • Instagram
  • home
  • desenvolvimento
  • linguagens de programação
  • go (linguagem de programação)

Aprenda Go ????

Canal: Aprenda Go

GRATUITO

Português

Reportar
Curso completo em português da linguagem Go, de zero a ninja! ????

Aulas do Curso (185 vídeos)

0 de 185 aulas concluídas 0%
0
Cap. 1 – Visão Geral – 1. Bem-vindo!
Cap. 1 – Visão Geral – 1. Bem-vindo!

Go é uma linguagem de programação de código aberto que torna muito simples a criação de software simples, confiável e ef…

1
Cap. 1 – Visão Geral – 2. Por que Go?
Cap. 1 – Visão Geral – 2. Por que Go?

• Antes de investir seu tempo em aprender a linguagem Go, é bom você entender por que isso é uma boa idéia. • O que …

2
Cap. 1 – Visão Geral – 3. Sucesso
Cap. 1 – Visão Geral – 3. Sucesso

• Qual o motivo que algumas pessoa obtem sucesso e outras não? • Eu quero que você obtenha sucesso com este curso, e…

3
Cap. 1 – Visão Geral – 4. Recursos
Cap. 1 – Visão Geral – 4. Recursos

• Leia as descrições dos vídeos! Outline completo: https://github.com/ellenkorbes/aprendago/blob/master/OUTLINE.md …

4
Cap. 1 – Visão Geral – 5. Como esse curso funciona
Cap. 1 – Visão Geral – 5. Como esse curso funciona

• Velocidade de playback. • Repetição. • Erros. • Português vs. inglês — Obviamente esse é um curso em p…

5
Cap. 1 – Visão Geral – 6. Update: Exercícios
Cap. 1 – Visão Geral – 6. Update: Exercícios

- Utilize o GitHub para conversar com colegas, compartilhar dicas para soluções, e tirar dúvidas. - Estudantes mais avan…

6
Cap. 2 – Variáveis, Valores & Tipos – 1. Go Playground
Cap. 2 – Variáveis, Valores & Tipos – 1. Go Playground

- É online, funciona sem instalar nem configurar nada. - Assim você pode começar a programar o mais rápido possível. - M…

7
Cap. 2 – Variáveis, Valores & Tipos – 2. Hello world!
Cap. 2 – Variáveis, Valores & Tipos – 2. Hello world!

- Estrutura básica: - package main. - func main: é aqui que tudo começa, é aqui que tudo acaba. - import. -…

8
Cap. 2 – Variáveis, Valores & Tipos – 3. Operador curto de declaração
Cap. 2 – Variáveis, Valores & Tipos – 3. Operador curto de declaração

- := parece uma marmota (gopher) ou o punisher. - Uso: - Tipagem automática - Só pode repetir se houverem variáv…

9
Cap. 2 – Variáveis, Valores & Tipos – 4. A palavra-chave var
Cap. 2 – Variáveis, Valores & Tipos – 4. A palavra-chave var

- Variável declarada em um code block é undefined em outro - Para variáveis com uma abrangência maior, package level sco…

10
Cap. 2 – Variáveis, Valores & Tipos – 5. Explorando tipos
Cap. 2 – Variáveis, Valores & Tipos – 5. Explorando tipos

- Tipos em Go são extremamente importantes. (Veremos mais quando chegarmos em métodos e interfaces.) - Tipos em Go são e…

11
Cap. 2 – Variáveis, Valores & Tipos – 6. Valor zero
Cap. 2 – Variáveis, Valores & Tipos – 6. Valor zero

- Declaração vs. inicialização vs. atribuição de valor. Variáveis: caixas postais. - O que é valor zero? - Os zeros: …

12
Cap. 2 – Variáveis, Valores & Tipos – 7. O pacote fmt
Cap. 2 – Variáveis, Valores & Tipos – 7. O pacote fmt

- Setup: strings, ints, bools. - Strings: interpreted string literals vs. raw string literals. - Rune literals. …

13
Cap. 2 – Variáveis, Valores & Tipos – 8. Criando seu próprio tipo
Cap. 2 – Variáveis, Valores & Tipos – 8. Criando seu próprio tipo

- Revisando: tipos em Go são extremamente importantes. (Veremos mais quando chegarmos em métodos e interfaces.) - Tem um…

14
Cap. 2 – Variáveis, Valores & Tipos – 9. Conversão, não coerção
Cap. 2 – Variáveis, Valores & Tipos – 9. Conversão, não coerção

- Conversão de tipos é o que soa. - Em Go não se diz casting, se diz conversion. - a = int(b) - ref/spec#Conversions - F…

15
Cap. 3 – Exercícios: Nível #1 – 1
Cap. 3 – Exercícios: Nível #1 – 1

- Esses são seus primeiros exercícios, e seus primeiros passos. - Completando os exercícios dessa seção, você será um ni…

16
Cap. 3 – Exercícios: Nível #1 – 2
Cap. 3 – Exercícios: Nível #1 – 2

- Use var para declarar três variáveis. Elas devem ter package-level scope. Não atribua valores a estas variáveis. Utili…

17
Cap. 3 – Exercícios: Nível #1 – 3
Cap. 3 – Exercícios: Nível #1 – 3

- Utilizando a solução do exercício anterior: 1. Em package-level scope, atribua os seguintes valores às variáveis: …

18
Cap. 3 – Exercícios: Nível #1 – 4
Cap. 3 – Exercícios: Nível #1 – 4

- Crie um tipo. O tipo subjacente deve ser int. - Crie uma variável para este tipo, com o identificador "x", utilizando …

19
Cap. 3 – Exercícios: Nível #1 – 5
Cap. 3 – Exercícios: Nível #1 – 5

- Utilizando a solução do exercício anterior: 1. Em package-level scope, utilizando a palavra-chave var, crie uma va…

20
Cap. 3 – Exercícios: Nível #1 – 6
Cap. 3 – Exercícios: Nível #1 – 6

- Prova! - Link: https://forms.gle/yutXCZCjsgBzMfxK8 - Se você deu pausa e fez todos os exercícios anteriores você mesmo…

21
Cap. 4 – Fundamentos da Programação – 1. Tipo booleano
Cap. 4 – Fundamentos da Programação – 1. Tipo booleano

- Agora vamos explorar os tipos de maneira mais detalhada. golang.org/ref/spec. A começar pelo bool. - O tipo bool é um …

22
Cap. 4 – Fundamentos da Programação – 2. Como os computadores funcionam
Cap. 4 – Fundamentos da Programação – 2. Como os computadores funcionam

- Isso é importante pois daqui pra frente vamos falar de ints, bytes, e etc. - Não é necessário um conhecimento a fundo …

23
Cap. 4 – Fundamentos da Programação – 3. Tipos numéricos
Cap. 4 – Fundamentos da Programação – 3. Tipos numéricos

- int vs. float: Números inteiros vs. números com frações. - golang.org/ref/spec ? numeric types - Integers: - Númer…

24
Cap. 4 – Fundamentos da Programação – 4. Overflow
Cap. 4 – Fundamentos da Programação – 4. Overflow

- Um uint16, por exemplo, vai de 0 a 65535. - Que acontece se a gente tentar usar 65536? - Ou se a gente estiver em 6553…

25
Cap. 4 – Fundamentos da Programação – 5. Tipo string (cadeias de caracteres)
Cap. 4 – Fundamentos da Programação – 5. Tipo string (cadeias de caracteres)

- Strings são sequencias de bytes. - Imutáveis. - Uma string é um "slice of bytes" (ou, em português, uma fatia de bytes…

26
Cap. 4 – Fundamentos da Programação – 6. Sistemas numéricos
Cap. 4 – Fundamentos da Programação – 6. Sistemas numéricos

- Base-10: decimal, 0–9 - Base-2: binário, 0–1 - Base-16: hexadecimal, 0–f - https://docs.google.com/document/d/1GqXpubh…

27
Cap. 4 – Fundamentos da Programação – 7. Constantes
Cap. 4 – Fundamentos da Programação – 7. Constantes

- São valores imutáveis. - Podem ser tipadas ou não: - const oi = "Bom dia" - const oi string = "Bom dia" - As n…

28
Cap. 4 – Fundamentos da Programação – 8. Iota
Cap. 4 – Fundamentos da Programação – 8. Iota

- golang.org/ref/spec - Numa declaração de constantes, o identificador iota representa números sequenciais. - Na prática…

29
Cap. 4 – Fundamentos da Programação – 9. Deslocamento de bits
Cap. 4 – Fundamentos da Programação – 9. Deslocamento de bits

- Deslocamento de bits é quando deslocamos digitos binários para a esquerda ou direita. - https://play.golang.org/p/7MOn…

30
Cap. 5 – Exercícios: Nível #2 – 1
Cap. 5 – Exercícios: Nível #2 – 1

- Escreva um programa que mostre um número em decimal, binário, e hexadecimal. - Solução: https://play.golang.org/p/X7qm…

31
Cap. 5 – Exercícios: Nível #2 – 2
Cap. 5 – Exercícios: Nível #2 – 2

- Escreva expressões utilizando os operadores, e atribua seus valores a variáveis. - Demonstre estes valores. - Solução:…

32
Cap. 5 – Exercícios: Nível #2 – 3
Cap. 5 – Exercícios: Nível #2 – 3

- Crie constantes tipadas e não-tipadas. - Demonstre seus valores. - Solução: https://play.golang.org/p/eWnKI59ual ? C…

33
Cap. 5 – Exercícios: Nível #2 – 4
Cap. 5 – Exercícios: Nível #2 – 4

- Crie um programa que: - Atribua um valor int a uma variável - Demonstre este valor em decimal, binário e hexad…

34
Cap. 5 – Exercícios: Nível #2 – 5
Cap. 5 – Exercícios: Nível #2 – 5

- Crie uma variável de tipo string utilizando uma raw string literal. - Demonstre-a. - Solução: https://play.golang.org/…

35
Cap. 5 – Exercícios: Nível #2 – 6
Cap. 5 – Exercícios: Nível #2 – 6

- Utilizando iota, crie 4 constantes cujos valores sejam os próximos 4 anos. - Demonstre estes valores. - Solução: https…

36
Cap. 5 – Exercícios: Nível #2 – 7
Cap. 5 – Exercícios: Nível #2 – 7

- Prova! - Link: https://forms.gle/7KnotnBg3qXvGGyj7 - Motivação. Ninja nível 2! ? Compartilhe sua solução e converse …

37
Cap. 6 – Fluxo de Controle – 1. Entendendo fluxo de controle
Cap. 6 – Fluxo de Controle – 1. Entendendo fluxo de controle

- Computadores lêem programas de uma certa maneira, do mesmo jeito que nós lemos livros, por exemplo, de uma certa manei…

38
Cap. 6 – Fluxo de Controle – 2. Loops: inicialização, condição, pós
Cap. 6 – Fluxo de Controle – 2. Loops: inicialização, condição, pós

- For - Inicialização, condição, pós - Ponto e vírgula? - gobyexample.com - Não existe while!

39
Cap. 6 – Fluxo de Controle – 3. Loops: nested loop (repetição hierárquica)
Cap. 6 – Fluxo de Controle – 3. Loops: nested loop (repetição hierárquica)

- For - Repetição hierárquica - Exemplos: relógio, calendário

40
Cap. 6 – Fluxo de Controle – 4. Loops: a declaração for
Cap. 6 – Fluxo de Controle – 4. Loops: a declaração for

- For: inicialização, condição, pós - For: condição ("while") - For: ...ever? (http servers) - For: break - golang.org/r…

41
Cap. 6 – Fluxo de Controle – 5. Loops: break & continue
Cap. 6 – Fluxo de Controle – 5. Loops: break & continue

- Operação módulo: % - For: break - For: continue - Go Playground: https://play.golang.org/p/gpKMP1wAEM & https://play.g…

42
Cap. 6 – Fluxo de Controle – 6. Loops: utilizando ascii
Cap. 6 – Fluxo de Controle – 6. Loops: utilizando ascii

- Desafio surpresa! - Format printing: - Decimal %d - Hexadecimal %#x - Unicode %#U - Tab …

43
Cap. 6 – Fluxo de Controle – 7. Condicionais: a declaração if
Cap. 6 – Fluxo de Controle – 7. Condicionais: a declaração if

- If: bool - If: o operador não ? "!" - If: declaração de inicialização - Go Playground: https://play.golang.org/p/6nq2T…

44
Cap. 6 – Fluxo de Controle – 8. Condicionais: if, else if, else
Cap. 6 – Fluxo de Controle – 8. Condicionais: if, else if, else

- If, else. - If, else if, else. - If, else if, else if, ..., else. - Go Playground: https://play.golang.org/p/18VrRX2pe…

45
Cap. 6 – Fluxo de Controle – 9. Condicionais: a declaração switch
Cap. 6 – Fluxo de Controle – 9. Condicionais: a declaração switch

- Switch: - pode avaliar uma expressão - switch statement == case (value) - default switch statemen…

46
Cap. 6 – Fluxo de Controle – 10. Condicionais: a declaração switch pt. 2 & documentação
Cap. 6 – Fluxo de Controle – 10. Condicionais: a declaração switch pt. 2 & documentação

- Pode avaliar tipos - Pode haver uma expressão de inicialização

47
Cap. 6 – Fluxo de Controle – 11. Operadores lógicos condicionais
Cap. 6 – Fluxo de Controle – 11. Operadores lógicos condicionais

- && - || - ! - Go Playground: https://play.golang.org/p/MFwrt93xlc - Qual o resultado de fmt.Println... - true && t…

48
Cap. 7 – Exercícios: Nível #3 – 1
Cap. 7 – Exercícios: Nível #3 – 1

- Põe na tela: todos os números de 1 a 10000. - Solução: https://play.golang.org/p/MkdZiDW8SQ ? Compartilhe sua solução…

49
Cap. 7 – Exercícios: Nível #3 – 2
Cap. 7 – Exercícios: Nível #3 – 2

- Põe na tela: O unicode code point de todas as letras maiúsculas do alfabeto, três vezes cada. - Por exemplo: 65 …

50
Cap. 7 – Exercícios: Nível #3 – 3
Cap. 7 – Exercícios: Nível #3 – 3

- Crie um loop utilizando a sintaxe: for condition {} - Utilize-o para demonstrar os anos desde que você nasceu. - Soluç…

51
Cap. 7 – Exercícios: Nível #3 – 4
Cap. 7 – Exercícios: Nível #3 – 4

- Crie um loop utilizando a sintaxe: for {} - Utilize-o para demonstrar os anos desde que você nasceu. - Solução: https:…

52
Cap. 7 – Exercícios: Nível #3 – 5
Cap. 7 – Exercícios: Nível #3 – 5

- Demonstre o resto da divisão por 4 de todos os números entre 10 e 100 - Solução: https://play.golang.org/p/zcEsXqnBr8 …

53
Cap. 7 – Exercícios: Nível #3 – 6
Cap. 7 – Exercícios: Nível #3 – 6

- Crie um programa que demonstre o funcionamento da declaração if. - Solução: https://play.golang.org/p/OGPgTJZbiy ? C…

54
Cap. 7 – Exercícios: Nível #3 – 7
Cap. 7 – Exercícios: Nível #3 – 7

- Utilizando a solução anterior, adicione as opções else if e else. - Solução: https://play.golang.org/p/_cO7E-yL0o ? …

55
Cap. 7 – Exercícios: Nível #3 – 8
Cap. 7 – Exercícios: Nível #3 – 8

- Crie um programa que utilize a declaração switch, sem switch statement especificado. - Solução: https://play.golang.or…

56
Cap. 7 – Exercícios: Nível #3 – 9
Cap. 7 – Exercícios: Nível #3 – 9

- Crie um programa que utilize a declaração switch, onde o switch statement seja uma variável do tipo string com identif…

57
Cap. 7 – Exercícios: Nível #3 – 10
Cap. 7 – Exercícios: Nível #3 – 10

- Anote (à mão) o resultado das expressões: - fmt.Println(true && true) - fmt.Println(true && false) - fmt…

58
Cap. 8 – Agrupamentos de Dados – 1. Array
Cap. 8 – Agrupamentos de Dados – 1. Array

- Estruturas de dados, ou agrupamentos de dados, nos permitem agrupar valores diferentes. Estes valores podem ser ou não…

59
Cap. 8 – Agrupamentos de Dados – 2. Slice: literal composta
Cap. 8 – Agrupamentos de Dados – 2. Slice: literal composta

- O que são tipos de dados compostos? - Wikipedia: Composite_data_type - Effective Go: Composite literals -…

60
Cap. 8 – Agrupamentos de Dados – 3. Slice: for range
Cap. 8 – Agrupamentos de Dados – 3. Slice: for range

- Slices: - Tamanho: len(x) - Índice específico: x[i] (0-based) - Para ver todos os itens de uma slice utilizamo…

61
Cap. 8 – Agrupamentos de Dados – 4. Slice: fatiando ou deletando de uma fatia
Cap. 8 – Agrupamentos de Dados – 4. Slice: fatiando ou deletando de uma fatia

- x[:], x[a:], x[:b], x[a:b] - "a" é incluso; - "b" não é. - Exemplo: cabeça magnética de um disco rígido (relógio, fita…

62
Cap. 8 – Agrupamentos de Dados – 5. Slice: anexando a uma slice
Cap. 8 – Agrupamentos de Dados – 5. Slice: anexando a uma slice

- Effective Go: append (package builtin) - x = append(slice, ...values) - x = append(slice, slice...) - Todd: unfurl ? d…

63
Cap. 8 – Agrupamentos de Dados – 6. Slice: make
Cap. 8 – Agrupamentos de Dados – 6. Slice: make

- Slices são feitas de arrays. - Elas são dinâmicas, podem mudar de tamanho. - Sempre que isso acontece, um novo array é…

64
Cap. 8 – Agrupamentos de Dados – 7. Slice: slice multi-dimensional
Cap. 8 – Agrupamentos de Dados – 7. Slice: slice multi-dimensional

- Slices multi-dimensionais são slices que contem slices. - São como planilhas. - [][]type - Go Playground: https://play…

65
Cap. 8 – Agrupamentos de Dados – 8. Slice: a surpresa do array subjacente
Cap. 8 – Agrupamentos de Dados – 8. Slice: a surpresa do array subjacente

- Isso tudo aqui a gente já viu: - Toda slice tem um array subjacente. - Um slice é: um ponteiro/endereço para um array,…

66
Cap. 8 – Agrupamentos de Dados – 9. Maps: introdução
Cap. 8 – Agrupamentos de Dados – 9. Maps: introdução

- Utiliza o formato key:value. - E.g. nome e telefone - Performance excelente para lookups. - map[key]value{ key: value …

67
Cap. 8 – Agrupamentos de Dados – 10. Maps: range & deletando
Cap. 8 – Agrupamentos de Dados – 10. Maps: range & deletando

- Range: for k, v := range map { } - Reiterando: maps *não tem ordem* e um range usará uma ordem aleatória. - Go Playgro…

68
Cap. 9 – Exercícios: Nível #4 – 1
Cap. 9 – Exercícios: Nível #4 – 1

- Usando uma literal composta: - Crie um array que suporte 5 valores to tipo int - Atribua valores aos seus ín…

69
Cap. 9 – Exercícios: Nível #4 – 2
Cap. 9 – Exercícios: Nível #4 – 2

- Usando uma literal composta: - Crie uma slice de tipo int - Atribua 10 valores a ela - Utilize range para demo…

70
Cap. 9 – Exercícios: Nível #4 – 3
Cap. 9 – Exercícios: Nível #4 – 3

- Utilizando como base o exercício anterior, utilize slicing para demonstrar os valores: - Do primeiro ao terceiro i…

71
Cap. 9 – Exercícios: Nível #4 – 4
Cap. 9 – Exercícios: Nível #4 – 4

- Começando com a seguinte slice: - x := []int{42, 43, 44, 45, 46, 47, 48, 49, 50, 51} - Anexe a ela o valor 52; - A…

72
Cap. 9 – Exercícios: Nível #4 – 5
Cap. 9 – Exercícios: Nível #4 – 5

- Comece com essa slice: - x := []int{42, 43, 44, 45, 46, 47, 48, 49, 50, 51} - Utilizando slicing e append, crie um…

73
Cap. 9 – Exercícios: Nível #4 – 6
Cap. 9 – Exercícios: Nível #4 – 6

- Crie uma slice usando make que possa conter todos os estados do Brasil. - Os estados: "Acre", "Alagoas", "Amapá", …

74
Cap. 9 – Exercícios: Nível #4 – 7
Cap. 9 – Exercícios: Nível #4 – 7

- Crie uma slice contendo slices de strings ([][]string). Atribua valores a este slice multi-dimensional da seguinte man…

75
Cap. 9 – Exercícios: Nível #4 – 8
Cap. 9 – Exercícios: Nível #4 – 8

- Crie um map com key tipo string e value tipo []string. - Key deve conter nomes no formato sobrenome_nome - Val…

76
Cap. 9 – Exercícios: Nível #4 – 9
Cap. 9 – Exercícios: Nível #4 – 9

- Utilizando o exercício anterior, adicione uma entrada ao map e demonstre o map inteiro utilizando range. - Solução: ht…

77
Cap. 9 – Exercícios: Nível #4 – 10
Cap. 9 – Exercícios: Nível #4 – 10

- Utilizando o exercício anterior, remova uma entrada do map e demonstre o map inteiro utilizando range. ? Compartilhe …

78
Cap. 10 – Structs – 1. Struct
Cap. 10 – Structs – 1. Struct

- Struct é um tipo de dados composto que nos permite armazenar valores de tipos *diferentes.* - Seu nome vem de "structu…

79
Cap. 10 – Structs – 2. Structs embutidos
Cap. 10 – Structs – 2. Structs embutidos

- Structs dentro de structs dentro de structs. - Exemplo: um corredor de fórmula 1 é uma pessoa (nome, sobrenome, idade)…

80
Cap. 10 – Structs – 3. Lendo a documentação
Cap. 10 – Structs – 3. Lendo a documentação

- É importante se familiarizar com a documentação da linguagem Go. - Neste vídeo vamos ver um pouco sobre o que a docume…

81
Cap. 10 – Structs – 4. Structs anônimos
Cap. 10 – Structs – 4. Structs anônimos

- São structs sem identificadores. - x := struct { name type }{ name: value } - Go Playground: https://play.golang.org/p…

82
Cap. 11 – Exercícios: Nível #5 – 1
Cap. 11 – Exercícios: Nível #5 – 1

- Crie um tipo "pessoa" com tipo subjacente struct, que possa conter os seguintes campos: - Nome - Sobrenome …

83
Cap. 11 – Exercícios: Nível #5 – 2
Cap. 11 – Exercícios: Nível #5 – 2

- Utilizando a solução anterior, coloque os valores do tipo "pessoa" num map, utilizando os sobrenomes como key. - Demon…

84
Cap. 11 – Exercícios: Nível #5 – 3
Cap. 11 – Exercícios: Nível #5 – 3

- Crie um novo tipo: veículo - O tipo subjacente deve ser struct - Deve conter os campos: portas, cor - Crie doi…

85
Cap. 11 – Exercícios: Nível #5 – 4
Cap. 11 – Exercícios: Nível #5 – 4

- Crie e use um struct anônimo. - Desafio: dentro do struct tenha um valor de tipo map e outro do tipo slice. - Solução:…

86
Cap. 12 – Funções – 1. Sintaxe
Cap. 12 – Funções – 1. Sintaxe

- Qual a utilidade de funções? - Abstrair funcionalidade - Reutilização de código - func (receiver) identifier(p…

87
Cap. 12 – Funções – 2. Desenrolando (enumerando) uma slice
Cap. 12 – Funções – 2. Desenrolando (enumerando) uma slice

- Quando temos uma slice, podemos passar os elementos individuais através "deste..." operador. - Exemplos: - Desenro…

88
Cap. 12 – Funções – 3. Defer
Cap. 12 – Funções – 3. Defer

- Funções são ótimas pois tornam nosso código modular. Podemos alterar partes do nosso programa sem afetar o resto! - Um…

89
Cap. 12 – Funções – 4. Métodos
Cap. 12 – Funções – 4. Métodos

- Um método é uma função anexada a um tipo. - Quando se anexa uma função a um tipo, ela se torna um método desse tipo. -…

90
Cap. 12 – Funções – 5. Interfaces & polimorfismo
Cap. 12 – Funções – 5. Interfaces & polimorfismo

- Em Go, valores podem ter mais que um tipo. - Uma interface permite que um valor tenha mais que um tipo. - Declaração: …

91
Cap. 12 – Funções – 6. Funções anônimas
Cap. 12 – Funções – 6. Funções anônimas

- Anonymous self-executing functions ? Funções anônimas auto-executáveis. - func(p params) { ... }() - Vamos ver bastant…

92
Cap. 12 – Funções – 7. Func como expressão
Cap. 12 – Funções – 7. Func como expressão

- f := func(p params){ ... } - f() - Go Playground: https://play.golang.org/p/cPxhPUbfLy

93
Cap. 12 – Funções – 8. Retornando uma função
Cap. 12 – Funções – 8. Retornando uma função

- Pode-se usar uma função como retorno de uma função - Declaração: func f() return - Exemplo: func f() func() int { [...…

94
Cap. 12 – Funções – 9. Callback
Cap. 12 – Funções – 9. Callback

- Primeiro veja se você entende isso: https://play.golang.org/p/QkAtwMZU-z - Callback é passar uma função como argumento…

95
Cap. 12 – Funções – 10. Closure
Cap. 12 – Funções – 10. Closure

- Closure é cercar ou capturar um scope para que possamos utilizá-lo em outro contexto. Já vimos: - Package-level sc…

96
Cap. 12 – Funções – 11. Recursividade
Cap. 12 – Funções – 11. Recursividade

- WP: "The most common application of recursion is in mathematics and computer science, where a function being defined i…

97
Cap. 13 – Exercícios: Nível #6 – 1
Cap. 13 – Exercícios: Nível #6 – 1

- Exercício: - Crie uma função que retorne um int - Crie outra função que retorne um int e uma string - Cham…

98
Cap. 13 – Exercícios: Nível #6 – 2
Cap. 13 – Exercícios: Nível #6 – 2

- Crie uma função que receba um parâmetro variádico do tipo int e retorne a soma de todos os ints recebidos; - Passe um …

99
Cap. 13 – Exercícios: Nível #6 – 3
Cap. 13 – Exercícios: Nível #6 – 3

- Utilize a declaração defer de maneira que demonstre que sua execução só ocorre ao final do contexto ao qual ela perten…

100
Cap. 13 – Exercícios: Nível #6 – 4
Cap. 13 – Exercícios: Nível #6 – 4

- Crie um tipo struct "pessoa" que contenha os campos: - nome - sobrenome - idade - Crie um método para "pes…

101
Cap. 13 – Exercícios: Nível #6 – 5
Cap. 13 – Exercícios: Nível #6 – 5

- Crie um tipo "quadrado" - Crie um tipo "círculo" - Crie um método "área" para cada tipo que calcule e retorne a área d…

102
Cap. 13 – Exercícios: Nível #6 – 6
Cap. 13 – Exercícios: Nível #6 – 6

- Crie e utilize uma função anônima. - Solução: https://play.golang.org/p/Kgo6hVr5G5 ? Compartilhe sua solução e conver…

103
Cap. 13 – Exercícios: Nível #6 – 7
Cap. 13 – Exercícios: Nível #6 – 7

- Atribua uma função a uma variável. - Chame essa função. - Solução: https://play.golang.org/p/RMHLL3N5Ww ? Compartilhe…

104
Cap. 13 – Exercícios: Nível #6 – 8
Cap. 13 – Exercícios: Nível #6 – 8

- Crie uma função que retorna uma função. - Atribua a função retornada a uma variável. - Chame a função retornada. - Sol…

105
Cap. 13 – Exercícios: Nível #6 – 9
Cap. 13 – Exercícios: Nível #6 – 9

- Callback: passe uma função como argumento a outra função. - Solução: https://play.golang.org/p/2epLD_Yyap ? Compartil…

106
Cap. 13 – Exercícios: Nível #6 – 10
Cap. 13 – Exercícios: Nível #6 – 10

- Demonstre o funcionamento de um closure. - Ou seja: crie uma função que retorna outra função, onde esta outra função f…

107
Cap. 13 – Exercícios: Nível #6 – 11
Cap. 13 – Exercícios: Nível #6 – 11

- Uma das melhores maneiras de aprender é ensinando. - Para este exercício escolha o seu código favorito dentre os que v…

108
Cap. 14 – Ponteiros – 1. O que são ponteiros?
Cap. 14 – Ponteiros – 1. O que são ponteiros?

- Todos os valores ficam armazenados na memória. - Toda localização na memória possui um endereço. - Um pointeiro se ref…

109
Cap. 14 – Ponteiros – 2. Quando usar ponteiros
Cap. 14 – Ponteiros – 2. Quando usar ponteiros

- Ponteiros permitem compartilhar endereços de memória. Isso é útil quando: - Não queremos passar grandes volumes de…

110
Cap. 15 – Exercícios: Nível #7 – 1
Cap. 15 – Exercícios: Nível #7 – 1

- Crie um valor e atribua-o a uma variável. - Demonstre o endereço deste valor na memória. - Solução: https://play.golan…

111
Cap. 15 – Exercícios: Nível #7 – 2
Cap. 15 – Exercícios: Nível #7 – 2

- Crie um struct "pessoa" - Crie uma função chamada mudeMe que tenha *pessoa como parâmetro. Essa função deve mudar um v…

112
Cap. 16 – Aplicações – 1. Documentação JSON
Cap. 16 – Aplicações – 1. Documentação JSON

- Já entendemos ponteiros, já entendemos métodos. Já temos o conhecimento necessário para começar a utilizar a standard …

113
Cap. 16 – Aplicações – 2. JSON marshal (ordenação)
Cap. 16 – Aplicações – 2. JSON marshal (ordenação)

- Exemplo: transformando structs em Go em código JSON. - No improviso tambem. - Go Playground: https://play.golang.org/p…

114
Cap. 16 – Aplicações – 3. JSON unmarshal (desordenação)
Cap. 16 – Aplicações – 3. JSON unmarshal (desordenação)

- E agora o contrário. - Link: https://cdn.rawgit.com/GoesToEleven/golang-web-dev/17e3852d/040_json/README.html - JSON-t…

115
Cap. 16 – Aplicações – 4. A interface Writer
Cap. 16 – Aplicações – 4. A interface Writer

- A interface writer do pacote io. - type Writer interface { Write(p []byte) (n int, err error) } - pkg os: func (…

116
Cap. 16 – Aplicações – 5. O pacote sort
Cap. 16 – Aplicações – 5. O pacote sort

- Sort serve para ordenar slices. - Como faz? - golang.org/pkg/ ? sort - godoc.org/sort ? examples - Sor…

117
Cap. 16 – Aplicações – 6. Customizando o sort
Cap. 16 – Aplicações – 6. Customizando o sort

- O sort que eu quero não existe. Quero fazer o meu. - Para isso podemos usar o func Sort do package sort. Vamos precisa…

118
Cap. 16 – Aplicações – 7. bcrypt
Cap. 16 – Aplicações – 7. bcrypt

- É uma maneira de encriptar senhas utilizando hashes. - x/crypto/bcrypt - GenerateFromPassword - CompareHashAnd…

119
Cap. 17 – Exercícios: Nível #8 – 1
Cap. 17 – Exercícios: Nível #8 – 1

- Partindo do código abaixo, utilize marshal para transformar []user em JSON. - https://play.golang.org/p/U0jea43X55…

120
Cap. 17 – Exercícios: Nível #8 – 2
Cap. 17 – Exercícios: Nível #8 – 2

- Partindo do código abaixo, utilize unmarshal e demonstre os valores. - https://play.golang.org/p/b_UuCcZag9 - Dica…

121
Cap. 17 – Exercícios: Nível #8 – 3
Cap. 17 – Exercícios: Nível #8 – 3

- Partindo do código abaixo, utilize NewEncoder() e Encode() para enviar as informações como JSON para Stdout. - htt…

122
Cap. 17 – Exercícios: Nível #8 – 4
Cap. 17 – Exercícios: Nível #8 – 4

- Partindo do código abaixo, ordene a []int e a []string. - https://play.golang.org/p/H_q75mpmHW - Solução: https://…

123
Cap. 17 – Exercícios: Nível #8 – 5
Cap. 17 – Exercícios: Nível #8 – 5

- Partindo do código abaixo, ordene os []user por idade e sobrenome. - https://play.golang.org/p/BVRZTdlUZ_ - Os val…

124
Cap. 18 – Concorrência – 1. Concorrência vs. paralelismo
Cap. 18 – Concorrência – 1. Concorrência vs. paralelismo

- Concorrência é quando abre uma padaria do lado da outra e as duas quebram :) - Fun facts: - O primeiro CPU dual c…

125
Cap. 18 – Concorrência – 2. Goroutines & WaitGroups
Cap. 18 – Concorrência – 2. Goroutines & WaitGroups

- O código abaixo é linear. Como fazer as duas funções rodarem concorrentemente? - https://play.golang.org/p/XP-ZMeH…

126
Cap. 18 – Concorrência – 3. Discussão: Condição de corrida
Cap. 18 – Concorrência – 3. Discussão: Condição de corrida

- Agora vamos dar um mergulho na documentação: - https://golang.org/doc/effective_go.html#concurrency - https://…

127
Cap. 18 – Concorrência – 4. Na prática: Condição de corrida
Cap. 18 – Concorrência – 4. Na prática: Condição de corrida

- Aqui vamos replicar a race condition mencionada no artigo anterior. - time.Sleep(time.Second) vs. runtime.Gosched(…

128
Cap. 18 – Concorrência – 5. Mutex
Cap. 18 – Concorrência – 5. Mutex

- Agora vamos resolver a race condition do programa anterior utilizando mutex. - Mutex é mutual exclusion, exclusão mútu…

129
Cap. 18 – Concorrência – 6. Atomic
Cap. 18 – Concorrência – 6. Atomic

- Agora vamos fazer a mesma coisa, mas com atomic ao invés de mutex. - atomic.AddInt64 - atomic.LoadInt64 - Códi…

130
Cap. 19 – Ambiente de Desenvolvimento – 1. O terminal
Cap. 19 – Ambiente de Desenvolvimento – 1. O terminal

- Terminologia: - GUI: Graphical User Interface - CLI: Command Line Interface - Terminal, console, etc …

131
Cap. 19 – Ambiente de Desenvolvimento – 2. Go Workspace
Cap. 19 – Ambiente de Desenvolvimento – 2. Go Workspace

- $GOPATH/ bin/ pkg/ src/ github.com/ [Nome do usuário (github.com)]/ [N…

132
Cap. 19 – Ambiente de Desenvolvimento – 3. IDEs
Cap. 19 – Ambiente de Desenvolvimento – 3. IDEs

- Integrated development environment. WP: "[...] é um programa de computador que reúne características e ferramentas de …

133
Cap. 19 – Ambiente de Desenvolvimento – 4. Comandos Go
Cap. 19 – Ambiente de Desenvolvimento – 4. Comandos Go

- go version - go env - go help - go fmt - ./… - go run - go run [file name] - go run *.go - go build - …

134
Cap. 19 – Ambiente de Desenvolvimento – 5. Repositórios no GitHub
Cap. 19 – Ambiente de Desenvolvimento – 5. Repositórios no GitHub

- Git foi feito pelo Linus Torvalds. O cara que criou o Linux. - GitHub, GitLab. - Como funciona? - Vá em github.com…

135
Cap. 19 – Ambiente de Desenvolvimento – 6. Explorando o GitHub
Cap. 19 – Ambiente de Desenvolvimento – 6. Explorando o GitHub

- Clonando um repo git clone [repo] - SSH - Mac/Linux: ssh-keygen -t rsa - id_rsa: Esta é sua chave priv…

136
Cap. 19 – Ambiente de Desenvolvimento – 7. Compilação cruzada
Cap. 19 – Ambiente de Desenvolvimento – 7. Compilação cruzada

- GOOS - GOARCH - `GOOS=darwin GOARCH=amd64 go build test.go` - https://godoc.org/runtime#pkg-constants - git push - git…

137
Cap. 19 – Ambiente de Desenvolvimento – 8. Pacotes
Cap. 19 – Ambiente de Desenvolvimento – 8. Pacotes

- Opção 1: uma pasta, vários arquivos. - package declaration em todos os arquivos - package scope: um elemento d…

138
Cap. 20 – Exercícios: Nível #9 – 1
Cap. 20 – Exercícios: Nível #9 – 1

- Alem da goroutine principal, crie duas outras goroutines. - Cada goroutine adicional devem fazer um print separado. - …

139
Cap. 20 – Exercícios: Nível #9 – 2
Cap. 20 – Exercícios: Nível #9 – 2

- Esse exercício vai reforçar seus conhecimentos sobre conjuntos de métodos. - Crie um tipo para um struct chamado "…

140
Cap. 20 – Exercícios: Nível #9 – 3
Cap. 20 – Exercícios: Nível #9 – 3

- Utilizando goroutines, crie um programa incrementador: - Tenha uma variável com o valor da contagem - Crie um …

141
Cap. 20 – Exercícios: Nível #9 – 4
Cap. 20 – Exercícios: Nível #9 – 4

- Utilize mutex para consertar a condição de corrida do exercício anterior. - Solução: https://github.com/ellenkorbes/ap…

142
Cap. 20 – Exercícios: Nível #9 – 5
Cap. 20 – Exercícios: Nível #9 – 5

- Utilize atomic para consertar a condição de corrida do exercício #3. - Solução: https://github.com/ellenkorbes/aprenda…

143
Cap. 20 – Exercícios: Nível #9 – 6
Cap. 20 – Exercícios: Nível #9 – 6

- Crie um programa que demonstra seu OS e ARCH. - Rode-o com os seguintes comandos: - go run - go build - go…

144
Cap. 20 – Exercícios: Nível #9 – 7
Cap. 20 – Exercícios: Nível #9 – 7

- "If you do not leave your comfort zone, you do not remember the trip" — Brian Chesky - Faça download e instale: https:…

145
Cap. 21 – Canais – 1. Entendendo canais
Cap. 21 – Canais – 1. Entendendo canais

- Canais são o Jeito Certo® de fazer sincronização e código concorrente. - Eles nos permitem trasmitir valores entre gor…

146
Cap. 21 – Canais – 2. Canais direcionais & Utilizando canais
Cap. 21 – Canais – 2. Canais direcionais & Utilizando canais

Canais direcionais - Canais podem ser direcionais. - E isso serve pra...? - Um send channel e um receive channel são ti…

147
Cap. 21 – Canais – 3. Range e close
Cap. 21 – Canais – 3. Range e close

- Range: - gofunc com for loop com send e close(chan) - recebe com range chan - Código: https://play.golang.org…

148
Cap. 21 – Canais – 4. Select
Cap. 21 – Canais – 4. Select

- Select é como switch, só que pra canais, e não é sequencial. - "A select blocks until one of its cases can run, then i…

149
Cap. 21 – Canais – 5. A expressão comma ok
Cap. 21 – Canais – 5. A expressão comma ok

- v, ok := ?chan - Se receber valor: v, true - Canal fechado, nada, etc.: zero v, false - Agora vamos resolver o problem…

150
Cap. 21 – Canais – 6. Convergência
Cap. 21 – Canais – 6. Convergência

- Observamos convergência quando informação de vários canais é enviada a um número menor de canais. - Interessante: - Na…

151
Cap. 21 – Canais – 7. Divergência
Cap. 21 – Canais – 7. Divergência

- Divergência é o contrário de convergência :) - Na prática, exemplos: - 1. Um stream vira centenas de go funcs que …

152
Cap. 21 – Canais – 8. Context
Cap. 21 – Canais – 8. Context

- Só pra ter uma idéia geral: - Se a gente lança 500 goroutines pra fazer uma tarefa, e cancelamos a tarefa no meio do c…

153
Cap. 22 – Exercícios: Nível #10 – 1
Cap. 22 – Exercícios: Nível #10 – 1

- Nível 10?! Êita! Parabéns! - Faça esse código funcionar: https://play.golang.org/p/j-EA6003P0 - Usando uma função …

154
Cap. 22 – Exercícios: Nível #10 – 2
Cap. 22 – Exercícios: Nível #10 – 2

- Faça esse código funcionar: https://play.golang.org/p/oB-p3KMiH6 - Solução: https://play.golang.org/p/isnJ8hMMKg ? Co…

155
Cap. 22 – Exercícios: Nível #10 – 3
Cap. 22 – Exercícios: Nível #10 – 3

- Utilizando este código: https://play.golang.org/p/sfyu4Is3FG - ...use um for range loop para demonstrar os valores do …

156
Cap. 22 – Exercícios: Nível #10 – 4
Cap. 22 – Exercícios: Nível #10 – 4

- Utilizando este código: https://play.golang.org/p/MvL6uamrJP - ...use um select statement para demonstrar os valores d…

157
Cap. 22 – Exercícios: Nível #10 – 5
Cap. 22 – Exercícios: Nível #10 – 5

- Utilizando este código: https://play.golang.org/p/YHOMV9NYKK - ...demonstre o comma ok idiom. - Solução: https://play.…

158
Cap. 22 – Exercícios: Nível #10 – 6
Cap. 22 – Exercícios: Nível #10 – 6

- Escreva um programa que coloque 100 números em um canal, retire os números do canal, e demonstre-os. - Solução: https:…

159
Cap. 22 – Exercícios: Nível #10 – 7
Cap. 22 – Exercícios: Nível #10 – 7

- Crie um programa que lance 10 goroutines onde cada uma envia 10 números a um canal; - Tire estes números do canal e de…

160
Cap. 23 – Tratamento de Erros – 1. Entendendo erros
Cap. 23 – Tratamento de Erros – 1. Entendendo erros

- Para quem já programa em outras linguagens: - Em Go não temos exceções. ? https://golang.org/doc/faq#exceptions …

161
Cap. 23 – Tratamento de Erros – 2. Verificando erros
Cap. 23 – Tratamento de Erros – 2. Verificando erros

Na minha religião, underscore é pecado. Verifique seus erros! (Exceção: fmt.Println) Na prática: Exe…

162
Cap. 23 – Tratamento de Erros – 3. Print & Log
Cap. 23 – Tratamento de Erros – 3. Print & Log

- Opções: - fmt.Println() ? stdout - log.Println() ? timestamp + pode-se determinar onde o erro ficará logado …

163
Cap. 23 – Tratamento de Erros – 4. Recover
Cap. 23 – Tratamento de Erros – 4. Recover

- https://blog.golang.org/defer-panic-and-recover - https://golang.org/pkg/builtin/#recover - Exemplo: https://play.gola…

164
Cap. 23 – Tratamento de Erros – 5. Erros com informações adicionais
Cap. 23 – Tratamento de Erros – 5. Erros com informações adicionais

- Para que nossas funções retornem erros customizados, podemos utilizar: - return errors.New() - return fmt.Erro…

165
Cap. 24 – Exercícios: Nível #11 – 1
Cap. 24 – Exercícios: Nível #11 – 1

- Utilizando este código: https://play.golang.org/p/3W69TH4nON - ...remova o underscore e verifique e lide com o erro de…

166
Cap. 24 – Exercícios: Nível #11 – 2
Cap. 24 – Exercícios: Nível #11 – 2

- Utilizando este código: https://play.golang.org/p/9a1IAWy5E6 - ...crie uma mensagem de erro customizada utilizando fmt…

167
Cap. 24 – Exercícios: Nível #11 – 3
Cap. 24 – Exercícios: Nível #11 – 3

- Crie um struct "erroEspecial" que implemente a interface builtin.error. - Crie uma função que tenha um valor do tipo …

168
Cap. 24 – Exercícios: Nível #11 – 4
Cap. 24 – Exercícios: Nível #11 – 4

- Utilizando este código: https://play.golang.org/p/wlEM1tgfQD - ...use o struct sqrt.Error como valor do tipo erro. - S…

169
Cap. 24 – Exercícios: Nível #11 – 5
Cap. 24 – Exercícios: Nível #11 – 5

- Nos capítulos seguintes, uma das coisas que veremos é testes. - Para testar sua habilidade de se virar por conta própr…

170
Cap. 25 – Documentação – 1. Introdução
Cap. 25 – Documentação – 1. Introdução

- Antes de escrever documentação, vamos ver como lê-la. Temos algumas possibilidades: - golang.org ? documentação da…

171
Cap. 25 – Documentação – 2. go doc
Cap. 25 – Documentação – 2. go doc

- go help doc - go doc demonstra a documentação de um package, const, func, type, var, método, etc. - go doc aceita zero…

172
Cap. 25 – Documentação – 3. godoc
Cap. 25 – Documentação – 3. godoc

- godoc extrai e gera documentação de programas em Go. Funciona de duas maneiras: - Sem o flag http é um comando nor…

173
Cap. 25 – Documentação – 4. godoc.org
Cap. 25 – Documentação – 4. godoc.org

- Documentação da standard library e outros - Como colocar a documentação do seu package no godoc.org - refresh, delete

174
Cap. 25 – Documentação – 5. Escrevendo Documentação
Cap. 25 – Documentação – 5. Escrevendo Documentação

- Documentação é uma parte extremamente importante de fazer com que software seja acessível e sustentável. - Documentaçã…

175
Cap. 26 – Exercícios: Nível #12 – 1
Cap. 26 – Exercícios: Nível #12 – 1

- Crie um package "cachorro". - Este package deverá exportar uma função Idade, que toma como parâmetro um número de …

176
Cap. 26 – Exercícios: Nível #12 – 2
Cap. 26 – Exercícios: Nível #12 – 2

- Coloque seu código no GitHub. - Faça sua documentação aparecer em godoc.org, e tire um screenshot. - Delete seu código…

177
Cap. 26 – Exercícios: Nível #12 – 3
Cap. 26 – Exercícios: Nível #12 – 3

- Use godoc na linha de comando para ver a documentação sobre: - fmt - fmt Print - strings - strconv ? …

178
Cap. 27 – Testes & Benchmarks – 1. Introdução
Cap. 27 – Testes & Benchmarks – 1. Introdução

- Testes devem: - ficar num arquivo cuja terminação seja _test.go - ficar na mesma package que o código a ser te…

179
Cap. 27 – Testes & Benchmarks – 2. Testes em tabela
Cap. 27 – Testes & Benchmarks – 2. Testes em tabela

- Podemos escrever testes em série para testar variedades de situações. - Exemplo: - struct test, fields: data []int…

180
Cap. 27 – Testes & Benchmarks – 3. Testes como exemplos
Cap. 27 – Testes & Benchmarks – 3. Testes como exemplos

- Outra maneira é fazer testes como exemplos. - Estes exemplos são os mesmos que aparecem na documentação. - Para exempl…

181
Cap. 27 – Testes & Benchmarks – 4. go fmt, govet e golint
Cap. 27 – Testes & Benchmarks – 4. go fmt, govet e golint

- gofmt: formata o código - go vet: correctness ? procura constructs suspeitos - golint: suggestions ? procura coding st…

182
Cap. 27 – Testes & Benchmarks – 5. Benchmarks
Cap. 27 – Testes & Benchmarks – 5. Benchmarks

- Benchmarks nos permitem testar a velocidade ou performance do nosso código. - Na prática: - Arquivo: _test.go …

183
Cap. 27 – Testes & Benchmarks – 6. Cobertura
Cap. 27 – Testes & Benchmarks – 6. Cobertura

- "Cobertura" em se tratando de testes se refere a quanto do seu código, percentualmente, está sendo testado. (E antes q…

184
Private video

This video is private.

Sobre o Canal

Aprenda Go
Aprenda Go

Aprenda Go ????

Preview this course

GRATUITO

Cursos Relacionados

golang Blockchain
golang Blockchain
Sirawit Techavanitch

Gratuito

Curso de Introdução a Linguagem Go (Golang)
Curso de Introdução a Linguagem Go (Golang)
Eliseu Codinhoto

Gratuito

Aprenda Go ????
Aprenda Go ????
Aprenda Go

Gratuito

Curso Go - CodigoFacilito
Curso Go - CodigoFacilito
Erick Platica

Gratuito

Todos os cursos
Share this course
Copied!

Course Preview

Aprenda Go ????

Comece a aprender

Aprimore suas habilidades
com os melhores cursos gratuitos

Criar Conta
YouCourse
  • youcourse@youcourse.com.br

Siga nas redes sociais

Company

  • Termos de Serviço
  • Politíca de Privacidade

Categorias

  • TI e software
  • Produtividade no escritório
  • Desenvolvimento
  • Estilo de vida
  • Design
  • Ensino e estudo acadêmico
  • Negócios
  • Marketing

Afiliados

Rodapé E-goi

© 2023 YouCourse. Todos os direitos reservados. Desenvolvido por Corujas.Dev