We're offering 20% off September Live Online classes! See which courses are applicable.   |   Details >

AccountIcon BigDataIcon BlogIcon default_resource_icon CartIcon checkmark_icon cloud_devops_icon computer_network_admin_icon cyber_security_icon gsa_schedule_icon human_resources_icon location_icon phone_icon plus_icon programming_software_icon project_management_icon redhat_linux_icon search_icon sonography_icon sql_database_icon webinar_icon

Search UMBC Training Centers


Go Programming

+ View more dates & times
  • Overview

    This course introduces the Go programming language to students who want to use Go to create utilities and services. The goal is to become proficient enough with the Go language to facilitate additional learning and competency.

    This is a comprehensive introduction to Go programming with a focus on understanding and using the standard library and its tooling. Topics include goroutines, channel, unit tests, control flow, and concurrency. Students will write their own programs that provide services or functionality during hands-on lab exercises.

  • Who Should Take This Course


    This course is suitable for: Developers.


    Students should have a basic proficiency in some programming language. Prerequisite language skills include understanding of datatypes, Boolean logic, control flow and basics of collections, such as arrays or hash tables. Some experience with multithreading or multiprocessing is helpful, but not required.

  • Schedule
  • Course Outline


    · What is Go?
    · What features does Go offer?
    · Why use Go?
    · Hello World

    Code Structure and Layout

    · go fmt
    · go vet
    · Name Visibility
    · Source Code Structure

    Variables and Simple Types

    · Declarations and Definitions
    · Boolean Type
    · Integer Types
    · Floating Point Types
    · Runes and Strings
    · Arrays
    · Conversions
    · Blank Identifier
    · Type Assertions

    Control Flow

    · Conditionals
    · Loops
    · goto/break/continue
    · switch/case
    · Type switch
    · Imports


    · Return values
    · defer
    · init vs. main
    · Anonymous Functions

    Type Usage

    · new/make
    · Maps
    · Slices
    · Structs
    · Methods
    · Interfaces
    · Pointers
    · Channels
    · Custom Types

    Type Extensions

    · enum
    · const
    · iota
    · Allocation
    · Append
    · Errors

    Parallelism and Concurrency

    · Goroutines
    · Atomicity
    · sync module
    · Debugging Concurrent Code

    Testing, Profiling, and Panicking

    · testing module
    · Table-Driven Tests
    · Benchmarking
    · panic/recover


    · godoc
    · Custom Packages
    · strings
    · os
    · regexp
    · testing

  • FAQs
    • Is there a discount available for current students?UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.
    • What is the cancellation and refund policy?Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.
    • What is Live Online training?Classes marked Live Online have the same content and expert instructors as our classroom training, but are delivered entirely online through our virtual classroom environment. Each class session is live, and led by an Instructor.

Contact Us