• Live training

Go Language Programming


Este curso aborda as características core da linguagem Go, comparando-as com outras linguagens como o Java ou Javascript.

Destinatários

  • Programadores de Java ou Javascript que queiram começar a programar em linguagem Go.

Pré-requisitos

  • Conhecimentos de Inglês;
  • Bons conhecimentos de programação;
  • Experiência anterior de linguagem Java e/ou Javascript.

Objetivos

  • Obter conhecimentos aprofundados sobre a linguagem Go;
  • Entender as diferenças entre a linguagem Go e outras linguagens como o Java ou Javascript;
  • Desenvolver boas práticas no desenvolvimento em linguagem Go.

Metodologia

  • Módulos de formação, integrados numa ótica de sessões mistas de teoria e prática com acompanhamento permanente e personalizado por parte de um formador;
  • Serão elaborados exercícios e simulações de situações práticas garantindo uma aprendizagem mais eficaz;
  • Os conteúdos ministrados durante o curso foram desenvolvidos pela Rumos, e são devidamente acompanhados por material didático, distribuídos aos participantes.

Programa

  • Why Go?
  • Go Language Overview
  • Control Structures
  • Functions
  • Arrays and Slices
  • Maps
  • Packages
  • Structs and Methods
  • Interfaces
  • Error Handling and Testing
  • Concurrency
  • Communication

Why Go?

  • Origins and evolution of Go
  • Reasons for developing in Go
  • Tooling and setting up a development environment
  • Hello world
  • Compiling and running code
  • Go playground

Go Language Overview

  • Keywords and identifiers
  • Packages and import
  • Variables, constants and data types
  • Pointers
  • User defined types and structs
  • Basic input and output of a program

Control Structures

  • if-else
  • switch-case
  • for
  • for range
  • break and continue
  • labels and goto

Functions

  • Parameters and return values
  • Defer and tracing
  • Built-in functions
  • Recursive functions
  • Higher-order functions
  • Closures
  • Functions as returns

Arrays and Slices

  • Declaration and initialization
  • Array literals
  • Slices
  • Multidimensionality
  • Reslicing
  • Copying and appending slices

Maps

  • Declaration and initialization
  • Existence of key-value item
  • Slice of maps
  • Sorting and inverting

Packages

  • Overview of the standard library
  • Custom packages and visibility
  • Documenting packages
  • Package file structure and use
  • Using git for distribution
  • External packages, projects and libraries
  • Discovering external packages
  • Installing external packages

Structs and Methods

  • Structs concepts
  • Factory method
  • Structs with tags
  • Anonymous fields and embedded structs
  • Methods vs functions
  • Receivers in methods as pointers and values
  • Non-exported fields
  • Methods on embedded types
  • Composition over inheritance
  • Garbage collection and SetFinalizer

Interfaces

  • What is an interface?
  • Implementation of interfaces
  • Dynamic types
  • OO in Go

Error Handling and Testing

  • Error handling
  • Run-time exceptions and panic
  • Recover
  • Testing

Concurrency

  • Handling Concurrency and parallelism
  • Goroutines
  • Channels
  • Channel directionality
  • Synchronization of goroutines

Communication

  • Reading and writing
  • Command line arguments
  • Executing OS commands
  • Networking

Inscreva-se

Dados Pessoais

Dados para faturação

   Os seus dados pessoais são recolhidos em conformidade com o Regulamento Geral de Proteção de Dados (RGPD).Consente que os seus dados sejam utilizados, nos termos da nossa Politica de Privacidade, para o contacto/envio de:

   Ações de informação, de marketing de produtos e serviços, como campanhas e eventos?

Para mais informações, consulte a Política de Privacidade do Grupo Rumos. Pode retirar o seu consentimento a qualquer momento, através do botão “Cancelar subscrição” ou “Unsubscribe” que estão presentes em cada comunicação enviada, bem como exercer os direitos descritos na política de privacidade

Go Language Programming

  • Datas
    17 Jul a 20 Jul 2023
    Live Training
  • Horário
    Laboral
    09h30 - 16h30
  • Nº Horas
    24
  • Preço
    1330€

Go Language Programming

Área

Dados

Como chegou até nós

Os seus dados pessoais são recolhidos em conformidade com o Regulamento Geral de Proteção de Dados (RGPD).

Consente que os seus dados sejam utilizados, nos termos da nossa Politica de Privacidade, para o contacto/envio de:

Ações de informação, de marketing de produtos e serviços, como campanhas e eventos?

Para mais informações, consulte a Política de Privacidade do Grupo Rumos.
pode retirar o seu consentimento a qualquer momento através do botão Cancelar subscrição ou Unsubscribe que estão presentes em cada comunicação enviada, bem como exercer os direitos descritos na politica de privacidade