Go for Java programmers : learn the Google Go programming language / Barry Feigenbaum
By: Feigenbaum, Barry A [author].
Publisher: [California] : Apress, ©2022Description: 582 p.Content type: text Media type: computer Carrier type: online resourceISBN: 9781484271988.Subject(s): Go (Computer program language) | Java (Computer program language)Genre/Form: Print books.Current location | Call number | Status | Date due | Barcode | Item holds |
---|---|---|---|---|---|
On Shelf | QA76.73.G63 F45 2022 (Browse shelf) | Available | AU00000000018460 |
Browsing Alfaisal University Shelves , Shelving location: On Shelf Close shelf browser
QA76.73.C154 O57 2020 C# 8 quick syntax reference : a pocket guide to the language, APIs, and library / | QA76.73.C154 W343 2018 More effective C# : 50 specific ways to improve your C# / | QA76.73 .G63 2023 Go fundamentals / | QA76.73.G63 F45 2022 Go for Java programmers : learn the Google Go programming language / | QA76.73 .G63 O76 2018 Sams teach yourself go in 24 hours : next generation systems programming with Golang / | QA76.73.H37 B73 2021 Haskell in depth / | QA76.73 .J38 2020 Ocp oracle certified professional java se 11 programmer ii study guide / <br> |
Includes index
Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Acknowledgments -- Introduction -- Assessments -- Part I: First Look at Go -- Chapter 1: A Brief Look at Go vs. Java -- Go Is a Compiled (vs. Interpreted, As Java Is) Language -- Go and Java Share Similar Program Structure -- Go and Java Have Some Code Style Differences That Influence How Code Is Structured -- Both Go and Java Are Procedural Languages -- Java Is an Object-Oriented (OO) Language, While Go Is Not Fully OO -- Java Is a Highly Functional Language, Go Is Less So
Java Is a Highly Declarative Language, Go Is Less So -- Many Java Features Are Annotation Driven -- Go Does Not Support Exceptions -- Both Java and Go Use Managed Memory (Garbage Collectors) -- Go and Java Both Support Concurrency but in Different Ways -- Go's Runtime Is Simpler Than the JRE -- The Go Program Build Process Is Different -- Go and Java Have Similar Release Cycles -- Chapter 2: What Java Has That Go Does Not -- Multiple Assignments -- Statements and Operators -- Assert Statement -- While and Do Statements -- Throw Statement/Throws Clause
Strictfp, transient, volatile, synchronized, abstract, static -- Objects and Classes (OOP) and Inner Classes, Lambdas, this, super, Explicit Constructors -- Generic Types and Methods -- Extensive Functional Programming Capabilities -- Boxing of Primitive Values -- Source Annotations -- Multiple Visibilities -- Overloaded/Overridden Functions -- Formal Enums -- Built-in Binary Data Self-Serialization -- Concurrent Collections -- Chapter 3: A Deeper Comparison of Go and Java -- Part II: The Go Language -- Chapter 4: Key Go Aspects -- Simple Go Program Example -- Go Packages -- Go Comments
Go Build/Run Process -- Go Playground -- Go Integrated Development Environments -- Running Go Programs -- Building Go Programs -- Bytecode vs. Real Code -- Go Command-Line Tools -- Tools Bundled in the Go Command -- Other Tools -- Go Runs Programs Instead of Classes -- Go Memory Management -- Go Identifiers -- Go Scopes -- Go Scopes vs. Go Source Files -- Initializing Go Variables -- Lifetimes of Go Identifiers -- Go Module Summary -- Go Assignments and Expressions -- Text Formatting in Go -- Goroutines -- Issues with Concurrency -- Go Concurrency -- Goroutines by Example
Chapter 5: Go Basic Features -- Language Keywords -- Operators and Punctuation -- Go Operator Precedence -- Go Built-in Functions -- Chapter 6: Go Types -- Primitive/Built-in Types -- Numbers -- Characters and Strings -- Reference vs. Pointer Types -- Drill Down on Basic Data Types -- Boolean Type -- Integer Types -- Floating-Point Types -- When nil Can Go Wrong -- Programmer-Defined Types -- Arrays -- Slices -- Maps -- Functions -- Methods As Functions -- Any Declared Type Can Have Custom Functions -- Functions As Values -- Structs -- Structure Fields -- Structure Literals -- Nested Structures
Available to OhioLINK libraries
Get an in-depth introduction to the Go programming language and its associated standard runtime libraries. This book is targeted towards programmers that already know the Java programming language and uses that Java knowledge to direct the learning of Go. You will get a deep understanding of the Go language and obtain a good introduction to the extensive Go standard libraries. This book teaches Go through clear descriptions of Go features, contrasting them with similar Java features and via providing extensive code examples. After reading this book you will be knowledgeable enough about Go and its libraries to begin doing effective programming using the Go language. Go for Java Programmers is structured more like a tutorial than a reference document. It covers key features of Go, but not every little detail as a reference might. Its goal is to get you competent enough in Go and its runtime that you can begin to effectively write Go programs. What You Will Learn Examine the key Go Runtime libraries and how they compare to Java libraries See when it is appropriate to use the Go language instead of the Java language Read and understand programs written in Go Write many programs in Go Determine when Go is an appropriate language to develop applications in Discover how the Go and Java languages and development experience compare and contrast Who This Book Is For Primarily existing professional Java programmers or students that already know something about Java. A basic understanding of Java is expected. Some basic programming experience with imperative languages is expected