Table of Contents
List of Tables
- Lesson 3
- Lesson 4
- Lesson 7
- Lesson 19
- Appendix
List of Illustrations
- Lesson 1
- Lesson 5
- Lesson 9
- Lesson 12
- Lesson 18
- Lesson 22
- Lesson 23
- Lesson 24
- Lesson 25
- Appendix
Guide
Pages
JOB READY GO
Land your first role with one of the leading modern programming languages
HAYTHEM BALTI
CO-AUTHORED BY KIMBERLY A. WEISS
Copyright 2023 by John Wiley & Sons, Inc. All rights reserved.
Underlying content and curriculum Wiley edu, LLC
Published by John Wiley & Sons, Inc., Hoboken, New Jersey.
Published simultaneously in Canada and the United Kingdom.
ISBN: 978-1-119-88981-6
ISBN: 978-1-119-88982-3 (ebk)
ISBN: 978-1-119-88983-0 (ebk)
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4470, or on the web at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at www.wiley.com/go/permission.
Trademarks: WILEY and the Wiley logo are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc. is not associated with any product or vendor mentioned in this book.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Further, readers should be aware that websites listed in this work may have changed or disappeared between when this work was written and when it is read. Neither the publisher nor authors shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages.
For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic formats. For more information about Wiley products, visit our website at www.wiley.com.
Library of Congress Control Number: 2022942940
Cover image: Photo Roman Samborskyi/Shutterstock; Triangles Raevsky Lab/Shutterstock
Cover design: Peter Denney
About the Authors
Haythem Balti, Ph.D., is an associate dean at Wiley Edge. He has created courses used by thousands of Software Guild and Wiley Edge (formerly mthree) alumni to learn Go, Java, Python, and other development and data science skills.
Kimberly A. Weiss is a Senior Manager of Curriculum Operations for Wiley Edge. She has worked with multiple universities as well as corporate training settings to develop interactive instructional content appropriate for the target learners and course goals, specializing in software development courses.
About the Technical Writer
Bradley Jones is the owner of Lots of Software, LLC. He has programmed in a variety of languages and tools ranging from C to Unity on platforms ranging from Windows to mobile (and includes the web as well as a little bit of virtual reality for fun). In addition to programming, he has authored books on C, C++, C#, Windows, the web, and many more technical topics as well as a few nontechnical topics. Bradley has been recognized in the industry as a community influencer and has been recognized as a Microsoft MVP, CODiE Judge, an international technology speaker, best-selling technical author, and more.
About the Technical Editor
Michael A. Jarvis is a software industry veteran with over thirty years of experience, working for companies ranging from small dot-com start-ups to large Fortune 100 enterprises. Michael has extensive experience programming in C, C++, Java, and Python, but has been enamored with Go ever since discovering the language back in 2015. Michael has contributed code to multiple open-source projects over the years, including the vim text editor and the fish shell, among others. Michael currently works as a lead software developer, on assignment with the vehicle cybersecurity group of a large automobile manufacturer, where he leverages his Go expertise toward automating security testing and validation of embedded vehicle components.
Acknowledgments
Although Kim and Haythem are the main authors of this book, this book would not have been possible without the hard work of the content development and instruction teams at The Software Guild and mthree. Haythem would also like to thank his mother, Samira: From buying my first computer when I was 13 years old to encouraging me to take a career in tech, she always played an instrumental part in where I am today. I am very thankful for you.
Introduction
There are many programming languages a person can pick to create applications. Go, also known as Golang, is an open-source programming language that was designed at Google with a focus on simplicity and safety. Go first appeared to the public in 2009 and was officially released in 2012. Go is similar to the C programming language in the syntax and concepts that it uses. Go is a fast, small programming language that lets you focus on the solutions you want to build.
Go also provides features to make a developer's life easier. This includes garbage collection, memory safety, and structural typing. It also includes features such as built-in concurrency primitives, support of lightweight processes, an interface system, and more.
Whether you are looking to build standalone applications, build web apps, do concurrent programming, or perform a variety of other tasks, Go can help get you there. Other companies beyond Google are using Go, including Netflix, Ethereum, Splice, Twitch, and Uber. As result, Go has become a popular programming language.
Go vs. Golang
The programming language is Go, but some people call it Golang. The Golang name comes from the domain where Go used to be located, which was golang.org
. Go is now hosted on go.dev.
Next page