Curso Go Programming

  • Development

Curso Go Programming

24 Horas
Visão Geral

Curso Go Programming A linguagem de programação Go (também conhecida como Golang) é amplamente usada no Google (que convidou a linguagem) e está crescendo em popularidade para o desenvolvimento do lado do servidor (incluindo microsserviços).

Nosso Curso Go Programming, lhe dará uma introdução a esta popular linguagem de programação e mostrará como aplicar programação funcional baseada em objetos e técnicas de simultaneidade.

Este curso também serve como uma base sólida para avançar para o desenvolvimento de servidores da web baseados em Go, serviços Go, microsserviços Go etc.

Objetivo

Após realizar este Curso Go Programming você será capaz de:

  1. Aprendeu sobre a linguagem de programação Core Go
  2. Compreendeu os principais conceitos da linguagem Go
  3. Funções exploradas em Go
  4. Aprendeu sobre programação baseada em objetos em Go
  5. Métodos de definição explorados
  6. Interfaces Go examinadas
  7. Entendeu a abordagem Go para tratamento de erros
  8. Trabalhou com Goroutines e Canais
  9. Explorou o gerenciamento de simultaneidade com dados compartilhados
  10. Pacotes Go Explorados e a Ferramenta Go
  11. Usou a ferramenta de teste go
  12. Desenvolveu um servidor simples baseado em TCP
  13. Criou um serviço RESTful usando Go
Publico Alvo

Este curso é ideal para qualquer desenvolvedor de software que deseja desenvolver aplicativos e serviços Go.

Pre-Requisitos

Nenhum conhecimento prévio de Go é necessario; embora seja necessário o conhecimento de uma ou mais linguagens de programação de computador modernas, como C, C ++, Java, JavaScript, C # ou Python. Nenhuma Programação Orientada

Materiais
Português/Inglês
Conteúdo Programatico

Welcome and Introductions

  1. Introduction to tutor
  2. Introduction to Delegates
  3. Overview of the Course

Go Overview and Hello World

  1. Go Introduction
  2. Go Versions
  3. Why Go?
  4. Installing Go
  5. Go Editors and IDEs
  6. Visual Studio and Go
  7. Hello World in Go
  8. Adding Initialization Behaviour
  9. Accessing Command Line Arguments
  10. Go Programs Consist of
  11. Noteworthy Omissions from Go

Go Programming Core Elements

  1. Go Tokens
  2. Variables
  3. Assignments
  4. Short Variable Declarations
  5. Arithmetic Operators
  6. Constants
  7. Pointers
  8. Strings
  9. fmt.Printf() formatting
  10. Relational, Logical and Bitwise operators
  11. Operator Precedence

Flow of Control in Go

  1. Relational Operators
  2. If statement
  3. Using else and else if
  4. Nesting if statements
  5. Logical Operators
  6. Switch Statement
  7. expression switch
  8. type switch
  9. For loops
  10. Nested for Loops
  11. while style for loops
  12. Break, Continue and Goto

Data Types

  1. Go Data Types
  2. Numbers
  3. Arrays
  4. Slices
  5. Ranges
  6. Maps
  7. Containers
  8. List and Ring

Functions

  1. Defining Functions
  2. Zero, single and multiple parameter functions
  3. Returning values
  4. Variadic parameter lists
  5. Call by Reference
  6. Anonymous Functions
  7. Defering a Function call
  8. Panic and Recover
  9. Higher Order Functions
  10. Closure
  11. Recursion

Structs: Object-based Programming

  1. Struct Introduction
  2. Defining a Struct
  3. Variables of type struct Person
  4. Initializing Structs
  5. Comparing Structs
  6. Structs are value types
  7. Passing Structs to Functions
  8. Defining Constructor Functions
  9. JSON and Structs
  10. Anonymous Structs
  11. Adding Behaviour

Interfaces

  1. interface Introduction
  2. Defining an interface
  3. Creating User Defined Interface
  4. Implementing an Interface
  5. Using an Interface Type
  6. Working with interfaces
  7. Built-in Interfaces
  8. Stringer and Interface
  9. The empty interface: interface {}

Embedded Types

  1. Embedded Type Introduction
  2. Embedded Structs
  3. Multiple Embedded Structs
  4. Embedded Interfaces
  5. Multi-Embedded Interfaces
  6. Embedded Interfaces in Interfaces
  7. Embedded Multi-Interfaces in Interfaces
  8. Multi-Embedded Structs and Interfaces

Error Handling

  1. Error Handling Introduction
  2. Basics of Error Handling
  3. Returning an Error
  4. Custom Error Types
  5. Handling Errors Idiom

Packages and Modules

  1. Packages
  2. Go Packages
  3. Installing Packages
  4. Importing a Package
  5. Defining Packages
  6. importing Custom Packages
  7. Installing Packages
  8. Package Initialization
  9. Modules

Goroutines

  1. Why Asynchronous Programming
  2. Goroutine Introduction
  3. Executing Goroutines
  4. Simple Goroutine Example
  5. Wait for Goroutine to finish
  6. WaitGroup

Channels

  1. Problems with Concurrency
  2. Communicating via Channels
  3. Channel Hello World
  4. Sending Complex messages
  5. Channel Buffering
  6. Channel Directions
  7. Closing Channels
  8. Channel Select
  9. Range Over Channels
  10. Timers
  11. Tickers

Testing

  1. Introduction to Go Testing
  2. Package testing
  3. Test Functions
  4. Parametric Tests
  5. Benchmark Tests
  6. Skipping Tests
  7. Test Setup / Shutdown behaviour
  8. Verifying Examples
  9. Subtests

RESTful services with Go

  1. REST Design Pattern
  2. Basic net/http package
  3. RESTful API
  4. Gorilla/mux
  5. PathPrefix Subrouter
  6. Handling Path Parameters
  7. Handling Query Parameters
  8. Return objects as JSON
  9. Posting Data
  10. Organising Your Code

Optional Modules

These optional topics may be included in a customised course - for instance if you want to swap topics from the above syllabus, or to expand your Go training programme.

Files and Paths

  1. File Information
  2. Checking if a file exists
  3. Obtaining a file reference
  4. File Permissions
  5. Reading Files
  6. Writing Data to Files
  7. Renaming and Deleting files
  8. Random Access Files
  9. Paths
  10. Directories
  11. Temporary Files & Directories

Further Channels

  1. Channel Synchronization
  2. Timeouts
  3. Non-Blocking Channel Operations
  4. Worker pools
  5. Rate Limiting

Concurrency using the sync Package

  1. Once
  2. Atomic Counters
  3. Mutual Exclusion Locks
  4. Locker, Mutex / RWMutex
  5. Pool
  6. Stateful Goroutines
  7. Cond

Go and Relational Databases

  1. Examples of Relational Databases
  2. MySQL
  3. Connecting to an SQL Database
  4. Query a Database
  5. Insert into the Database
  6. Update a row in the Database
  7. Delete a row in the Database
  8. Transaction Handling

Go and MongoDB

  1. NoSQL Databases
  2. SQL v NoSQL
  3. Examples of NoSQL Databases
  4. MongoDB
  5. Installing mongodb driver
  6. Connecting to MongoDB database
  7. Create a Collection
  8. Inserting into a Collection
  9. Find Documents in Collections
  10. Update Documents
  11. Delete Documents
TENHO INTERESSE

Cursos Relacionados

Curso Python Programação Advanced

32 horas

Curso SAP ABAP S4hana Developer Foundation

32 horas

Curso Full Stack and React Essentials

32 Horas

Curso Node.js for JavaScript Developers

24 horas

Curso Elasticsearch for Developers

16H

Curso Elastic Stack Foundation

24 horas

Curso Apache Spark™ Foundation

8 Horas