Learning Go Programming: Build ScalableNext-Gen Web Application using Golang
- Length: 324 pages
- Edition: 1
- Language: English
- Publisher: BPB Publications
- Publication Date: 2021-01-02
- ISBN-10: 9389898420
- ISBN-13: 9789389898422
- Sales Rank: #5675037 (See Top 100 Books)
Deep dive into the essential topics in Go programming.
Key Features
- Understand the fundamentals of Go language, its history, purpose and success stories./li>
- Learn how to work with Variables, Constants, Data types, Operators, Control structures and Functions.
- Get familiar and work with the standard Golang libraries.
- Learn how to create custom packages and third-party package installation.
- Understand how concurrency is achieved in Go with the use of Goroutines, Mutex and Channels.
- Understand how an error is handled in Golang and supported libraries.
Description
This book is a unique read for both beginners and developers as it extensively covers topics ranging from fundamentals to advanced topics in Go programming. Basics such as Data types, Control structures and Loops in have been explained in-depth. A detailed description of Structs, Interfaces, Polymorphism and Concurrency will enable you to write professional codes using Golang. You will get an idea of error data type and how to recover it in Golang. You will be capable of using standard libraries, create custom packages and install third party packages in Go. Creation of functions and invoking them in Go have been vividly explained. By the end, you will be able to write advanced Golang code and at the same time, develop an application with Golang server.
What you will Learn
- Learn how to write codes using Control structures and Loops in Go
- Get familiar with the type of Operators in Go
- Learn how to work with Arrays and Slices in Go
- Get familiar and work with the functions in Go
- Learn how to implement Concurrent programming in Go
Who this book is for
This book is for anyone who wants to learn the Golang programming language. Programmers and developers who are currently using Golang can use this book as a reference guide.
About the Authors
Shubhangi Agarwal is an experienced software engineer, who for the past four years has been working in the information technology industry. In 2017, Shubhangi started her career with the market research industry, moving with IBM India Pvt. Ltd., she is currently working as a senior software engineer with Tata Consultancy Services Ltd. In her career, Shubhangi has worked on multiple technologies such as Python, Golang and various backend development events. She is also working as a freelancer helping organizations in their projects and providing the same opportunities to others.
It was back in 2018 that Shubhangi got her taste for writing by her blogs. She shares her views on multiple programming languages, common tech problems & their solution and makes videos on technical content. Shubhangi loves working on the latest technologies and sharing the technical insights through her website.
LinkedIn Profile:https://www.linkedin.com/in/shubhangi-agarwal-501366125/
Blog links: http://momentmate.com/blogs/?q=technical/j
Cover Page Title Page Copyright Page Dedication Page About the Author About the Reviewer Acknowledgement Preface Errata Table of Contents 1. Introduction to Go Structure Objective A look at software essence Evolution of Golang and its success Characteristics of Go Object-oriented nature The analogy with other languages Pain points of Go language Applications of Golang Conclusion Questions 2. Environment Setup Structure Objective System requirements How to install Uninstalling Go Conclusion Questions 3. Beginning With Go Structure Objective Introduction Keywords Identifiers Conclusion Questions 4. Variables, Data Types, and Constants Structure Objective Variables Data types Constants Format specifiers Conclusion Questions 5. Operators Structure Objective Introduction Types of operators Operator precedence Conclusion Questions 6. Control Structures Structure Objective Introduction Branching statements Looping statements Jumping statements Conclusion Questions 7. Functions Structure Objectives Introduction Declaring functions Function arguments and return types Calling a function Call by value Call by reference Named return values Blank Identifier Using a function as a type Anonymous functions Return Anonymous functions Closures Recursive functions The defer keyword Variadic function Conclusion Questions 8. Packages in Go Structure Objectives Introduction Main package Fmt package Importing package Creating a custom package Nested packages Installing third party package Circular import Top Go libraries Conclusion Questions 9. Arrays and Slices Structure Objective Introduction Declaring an array Initializing an array Need for an array Multidimensional arrays Functions of an array Slices Declaring slices Initializing slices Slices from an array Slice from slice Slice from structs Slice internals Slice using the make function Two-dimensional slices Slice functions Conclusion Questions 10. Strings Structure Objectives Introduction Functions with strings The rune data type Iterate using range keyword Convert a slice of runes to string Convert a slice of bytes to string Immutable nature of the string Strings package Functions with strings package Conclusion Questions 11. Pointers Structure Objectives Introduction Need for pointers Declare pointers Initializing pointers Dereferencing pointers Manipulating pointers Creating pointers with new Nested pointers Array of pointer Passing pointers to a function Conclusion Questions 12. Structures Structure Objectives Introduction Declaring struct Initializing struct Accessing struct’s field Pointer to struct A struct with a new function Anonymous struct fields Nested struct Passing structs to functions/copying structs Comparing structs Conclusion Questions 13. Composition Structure Objectives Introduction Embedding pointers Embedding slice of structs Conclusion Questions 14. Interfaces and Polymorphism Structure Objectives Introduction Declaring Interface Implementing interface Empty interface Implementing multiple interfaces Type assertion Type switch Embedding interfaces Interfaces as polymorphism Conclusion Questions 15. Maps Structure Objectives Introduction Use of maps Declaring a map Initializing a map Map operations Map as a reference type Conclusion Questions 16. Concurrency with Go Structure Objectives Introduction How parallelism is different from concurrency Thread Goroutines Multiple Goroutines Goroutines at multiple cores Waiting for Goroutine to finish Conclusion Questions 17. Mutex and Channels Structure Objectives Declaring channels Channel operations Deadlock Closing a channel The direction of a channel The select keyword Data race in Go Race condition Check for data race Mutex RWMutex Conclusion Questions 18. Error Handling Structure Objectives Introduction Error package Defer statement Panic Recovery Conclusion Questions 19. Reflection Structure Objectives Introduction The reflect package Type Value Kind NumField() Field String(), Int() & Float() Laws of reflection Conclusion Questions 20. Building Web Application Structure Objectives Introduction to web development HTML JavaScript Internal JavaScript External JavaScript CSS GopherJS Database Building an application Conclusion Questions Index
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.