GOLANG PROGRAMMING

Learn the basics of Go, an open source programming language originally developed by a team at Google and enhanced by many contributors from the open source community. This course is designed for individuals with some basic previous programming experience using such languages as C, Python, or Java, and covers the fundamental elements of Go. Topics include data types, protocols, formats, and writing code that incorporates RFCs and JSON. Most importantly, you’ll have a chance to practice writing Go programs and receive feedback from your peers. Upon completing this course, you'll be able to implement simple Go programs, which will prepare you for subsequent study at a more advanced level.


WHO SHOULD ATTEND THIS COURSE

  1. Developers interested to learn a new and dynamic language

2. Any one interested to embark on a programming career


OBJECTIVES

  1. Understand the essentials of programming and Go structure

  2. Build working Go programs

  3. Learn how to make effective Go design with Go tools


RATIONAL OF COURSE

1. Sharing your work easily with co-workers & customers

2. How to fit GitLab into your team's workflow

3. Use cloud-based and free online software GitLab

4. Know about the flexibility of being operating system independent 5. Be able to work remotely on a large development project


METHODOLOGY

This course is a theoretical and hands-on practical guided. Trainees will be taught, with examples and will be required to carry-our exercises immediately.


This course will consist of:

1. Training

2. Workshops

3. Use cases & projects

COURSE OUTLINE

(THIS IS A 2 DAYs TRAINING PROGrAMME)

DAY 1

Section 1 - Getting Started

  • Go Runtime and Compilations

  • Keywords and Identifiers

  • Constants and Variables

  • Operators and Expressions

  • Local Assignments

  • Booleans, Numerics, Characters

  • Pointers and Addresses

  • Strings


Section 2 - Constructs

  • if-else and switch

  • for Statements

  • Counter-controlled Iterations

  • Condition-controlled Iterations

  • Range Loops

  • Using break and continue


Section 3 - Functions

  • Parameters and Return Values

  • Call by Value and Reference

  • Named Return Variables

  • Blank Identifiers

  • Variable Argument Parameters

  • Using defer statements

  • Recursive Functions

  • Functions as Parameters

  • Closures


Section 4 - Working with Data

  • Array Literals

  • Multidimensional Arrays

  • Array Parameters

  • Slices and Slice Parameters

  • Multidimensional Slices

  • Reslicing

  • Maps and Map Parameters

  • Map Slices

  • Structures and Structure Parameters

  • Structure Tags and Fields

  • Embedded Structures

  • Recursive Structures


DAY 2

Section 5 - Methods and Interfaces

  • Method Declarations

  • Functions vs. Methods

  • Pointer and Value Receivers

  • Method Values and Expressions

  • Interface Types and Values

  • Type Assertions and Type Switches

  • Method Sets with Interfaces

  • Embedded Interfaces

  • Empty Interfaces

  • Working with Interfaces


Section 6 - Goroutines and Channels

  • Concurrency vs. Parallelism

  • Goroutine Functions and Lambdas

  • Wait Groups

  • Channels

  • Sending and Receiving

  • Unbuffered and Buffered Channels

  • Directional Channels

  • Multiplexing with select

  • Timers and Tickers


Section 7 - Packages and Testing

  • Packages and Workspaces

  • Exporting Package Names

  • Import Paths and Named Imports

  • Package Initializations

  • Blank Imports

  • Unit Testing with Test Functions

  • Table Tests and Random Tests

  • Benchmarking


Section 8 - Working with Go

  • Files and Directories

  • Reading Directories

  • Reading Files

  • Writing Files

  • Copying Files

  • Error Strategies

  • Panic and Recover

  • Package Error Handling

  • Regular Expressions

Appendix - Go Tools





FOR PRICING AND BOOKING THIS COURSE, PLEASE E-MAIL US AT admin@marcnzed.com

OR CALL +6012 451 4977 (MALAYSIA) OR +65 9052 3859 (SINGAPORE)