shape-876@2x

Web Development

The Go Programming Lan g uage Basic GO

מספר הקורס 3379

24 סה"כ שעות אקדמאיות
3 מפגשים
* מספר המפגשים והשעות למפגש עשויים להשתנות בין קורס לקורס
calendar-1.svg

המועדים הקרובים

17/03/2024

קורס בוקר

סניף

תל אביב

Overview

In Google’s words, “Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java. Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing. Finally, working with Go is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for.”
This course, introduces developers to Google's buzz generating, popular and intriguing Go programming language. Students will learn how to write code using Go, and learn about the Tour of Go and Go Playground. Learners will also discover Go's philosophy and motivation, advantages, shortcomings, and when and where it is most appropriate to use Go. It includes lectures and hands on practice and exercises.

hat.png

מטרות הקורס

kahal.png

Who Should Attend

• Developers and managers who are curious about GO

• Developers that want to build web modules & web services with GO

• Developers who start working on a Go project

structure.png

תכנית הלימודים

full syllabus
PDF להורדה

Introduction and History of GO
o Why another programming language
• Tour of Go and the Go Playground
• Installing and setting up GO
o Modules vs GoPath
o Working with Modules
o Go Libraries
• Basics Syntax
• Packages, variables and functions
• Flow Control Statements: for, if, else, switch, defer
o Differences from other languages
• structs, slices and maps
o arrays vs slices
o slice internal representation
o slice pitfalls
o using maps
• Intermediate Features:
o Methods and Interfaces
o Closures
o Go Interfaces internal representation
• Concurrency:
o Go Routines and Channels
o The power of Go Routines
o Sharing Data By Communicating
• Introduction to Advanced GO
o Formatting, comments and naming conventions
o Switch, fallthrough and no ops
o Redeclaration and Reassignment
4
o Range with Unicode
o Defer best practices
o New vs Make vs Constructors
o Arrays by pointer vs slice
o Implementation of append
o Global init functions
o Web serving int counter
o Using the blank identifier in importing
o Embedding: Interfaces, Structs vs Inheritance
o Channels use in server throttling

Prerequisites
  • Experience in procedural or OOP programming
  • Understand Web architecture and the role of Web modules
  • Familiarity with Web basic client technologies

Schedule Appointment

Fill out the form below, and we will be in touch shortly.

לא הצלחנו לאתר את הטופס.

בודק...