Muutke küpsiste eelistusi

Job Ready Go [Pehme köide]

(Wiley Edge), (Wiley Edge)
  • Formaat: Paperback / softback, 704 pages, kõrgus x laius x paksus: 234x185x38 mm, kaal: 953 g
  • Ilmumisaeg: 29-Sep-2022
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119889812
  • ISBN-13: 9781119889816
Teised raamatud teemal:
  • Pehme köide
  • Hind: 37,68 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 50,24 €
  • Säästad 25%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 3-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 704 pages, kõrgus x laius x paksus: 234x185x38 mm, kaal: 953 g
  • Ilmumisaeg: 29-Sep-2022
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 1119889812
  • ISBN-13: 9781119889816
Teised raamatud teemal:

Tackle GoLang with practical and employment-focused instruction

In Job Ready Go, software education guru Dr. Haythem Balti delivers an essential and hands-on guide to Go, an open-source programming language developed by Google engineers to combine the most sought-after capabilities of other programming languages, including Java, C#, and C++. In the book, the author walks you through all the most critical skills necessary for successful, on-the-job Go programming.

You’ll discover:

  • How to get started with Go, including how to run, build, and test your own go programs
  • Understand control flow and data structures in Go including arrays, slices, maps, and pointerss
  • How to leverage structs, interfaces, and methods to organize and reuse code
  • How to leverage go to process data, access different types of files and develop APIs
  • Leverage concurrency and gRPCs to create complex and interconnected systems.

Job Ready Go offers readers straightforward and elegant instruction based on the renowned mthree Global Academy and Software Guild training program. It’s an essential read for aspiring Go developers looking for a fast-track to developing real-world skills demanded by employers.

About the Authors v
About the Technical Writer vi
About the Technical Editor vii
Acknowledgments viii
Introduction xxi
PART I The Basics of the Co Programming Language
1(172)
Lesson 1 Getting Started with Go
3(18)
Installing Go
4(4)
Downloading the Installation Files
4(1)
Starting the Installation of Go
5(3)
Testing the Installation
8(2)
Creating a Hello, World! Program
10(6)
Compiling and Running the Program
11(2)
Alternate Run Option
13(1)
Troubleshooting Hello, World!
14(1)
Formatting Your Go Code
14(2)
Multiple Versions of Go
16(1)
Online Editor for Go: The Go Playground
16(2)
Summary
18(1)
Exercises
18(3)
Exercises 1.1 Counting Fun
19(1)
Exercises 1.2 Counting More Fun
20(1)
Lesson 2 Understanding Go Basics
21(18)
Understanding Statements and Tokens
22(1)
Statements
23(2)
Comments
25(3)
Single-line Comments
26(1)
Block or Multi-line Comments
27(1)
Identifiers
28(4)
Case
30(1)
Naming Conventions
31(1)
Keywords
32(1)
Summary
33(1)
Exercises
33(6)
Exercises 2.1 Fixing Problems
34(1)
Exercises 2.2 Making a Statement
35(1)
Exercises 2.3 Go Is Fun!
35(1)
Exercises 2.4 Printing Without Repeating
36(1)
Exercises 2.5 Tagging Your Code
37(1)
Solution: Listing 2.12
37(2)
Lesson 3 Storing with Variables
39(30)
Variables
40(4)
Naming Variables
41(1)
Declaring and Initializing Variables
42(1)
Declaring and Initializing One Variable
42(1)
Declaring Multiple Variables
43(1)
Declaring and Initializing Multiple Variables
44(1)
Static vs. Dynamic Type Declaration
44(4)
Mixing Types of Declarations
46(1)
Mixing Type Declarations in a Single Statement
47(1)
Variable Scope
48(2)
Obtaining User Input
50(3)
Memory Address
50(1)
Scanning for Values
51(2)
Converting a String to a Number
53(4)
Numeric Data Types
57(7)
Architecture-Independent Integer Types
58(2)
Out-of-Range Values
60(1)
Implementation-Specific Integer Types
61(1)
Float Types
62(2)
Summary
64(1)
Exercises
64(5)
Exercises 3.1 Fixing Problems
64(1)
Exercises 3.2 Creating Variables
65(1)
Exercises 3.3 Fewer Lines
65(1)
Exercises 3.4 How It Is Assigned
65(1)
Exercises 3.5 Conversions
65(1)
Exercises 3.6 State Your State
66(1)
Exercises 3.7 Where You Live
66(1)
Exercises 3.8 Boxy Logic
66(1)
Exercises 3.9 Assigning Types
66(3)
Lesson 4 Performing Operations
69(30)
Arithmetic Operations
70(8)
Mixing Number Types
72(1)
Type Casting Numbers
73(2)
PEMDAS
75(3)
Assignment Operations
78(3)
Addition and Subtraction Assignment Operations
78(2)
Multiplication, Division, and Modulus Assignment Operations
80(1)
Working with Booleans
81(1)
Relational Operations
82(4)
Assigning Values to Boolean Variables
84(1)
Using Mismatched Types in Relational Operations
84(2)
Boolean Operations
86(2)
Math Functions
88(2)
Bitwise Operations
90(1)
Random Numbers
91(3)
Limiting the Possible Value
92(1)
Seeding the Random Number Generator
93(1)
Summary
94(1)
Exercises
95(4)
Exercises 4.1 Resulting in 0
95(1)
Exercises 4.2 Truncating
96(1)
Exercises 4.3 Current Value of Deposit
96(1)
Exercises 4.4 Simple Interest
96(1)
Exercises 4.5 True and False
97(1)
Exercises 4.6 Functioning Math
97(1)
Exercises 4.7 Five Times the Basic Math
97(1)
Exercises 4.8 Using Relational Operators
98(1)
Exercises 4.9 Random Limits
98(1)
Lesson 5 Controlling Program Flow with Conditional Statements
99(24)
Conditional Statements
100(1)
Using an//Statement
100(4)
Working with Multiple Conditions
104(1)
Using an if-elseStatement
105(2)
Creating Nested//Statements
107(2)
Using a switch Statement
109(8)
Executing More than One Case with fallthrough
111(3)
Using Multiple Expressions in One Case
114(1)
Using Conditions in Switch Cases
115(2)
Summary
117(1)
Exercises
117(6)
Exercises 5.1 Are You Rich?
117(1)
Exercises 5.2 Cat vs. Dog
118(1)
Exercises 5.3 Quiz
118(1)
Exercises 5.4 Seasons
118(1)
Exercises 5.5 Switching the Seasons
119(1)
Exercises 5.6 Quiz Generator
119(1)
Exercises 5.7 Coffee Shop
119(4)
Lesson 6 Controlling Program Flow with Loops
123(22)
Looping Statements
124(1)
For Loops
125(7)
Optional Items in a for Loop
128(1)
Go's while Is for
129(2)
Infinite Loops
131(1)
Looping through a String
132(2)
The range Function
134(1)
Loop Control Statements
135(4)
The break Statement
136(1)
The continue Statement
137(1)
The goto Statement
138(1)
Summary
139(1)
Exercises
140(5)
Exercises 6.1 The Alphabet
140(1)
Exercises 6.2 Sum It Up
141(1)
Exercises 6.3 Fifty
141(1)
Exercises 6.4 Numeric Breakout
141(1)
Exercises 6.5 Reverse It
141(1)
Exercises 6.6 Length Without len
141(1)
Exercises 6.7 Guessing Game
142(1)
Exercises 6.8 URL Shortener
142(1)
Exercises 6.9 Validating Phone Numbers
142(1)
Exercises 6.10 Validating Email Addresses
143(1)
Challenge
143(1)
Exercises 6.11 Fizz Buzz
143(2)
Lesson 7 Pulling It All Together: Income Tax Calculator
145(28)
Getting Started
146(1)
Step 1 Gather Requirements
146(2)
Values in Use
147(1)
User Interface
147(1)
Other Standards
148(1)
Step 2 Design the Program
148(1)
Step 3 Create the Inputs
148(2)
Step 4 Calculate the Taxable Income
150(2)
Step 5 Calculate the Tax Rate
152(12)
Add a Conditional Statement
154(2)
Create Nested Conditionals
156(8)
Step 6 Update the Application
164(4)
What About Negative Taxable Incomes?
166(2)
Does Code Compare to Standards?
168(1)
Step 7 Address the UI
168(3)
On Your Own
171(1)
Summary
172(1)
PART II Organizing Code and Data in Co
173(204)
Lesson 8 Using Functions
175(20)
Defining a Function
175(10)
Using Multiple Functions
177(2)
Functions with No Return Values
179(1)
Functions with Multiple Return Values
180(1)
Returning Different Types
181(2)
Returning Named Types
183(1)
Skipping a Return Value
184(1)
Variadic Functions
185(1)
Recursion
186(1)
Function as a Value
187(1)
Closures
188(2)
Summary
190(1)
Exercises
191(4)
Exercises 8.1 Creating Your Own Functions
191(1)
Exercises 8.2 Spheres
191(1)
Exercises 8.3 What Does the Fox Say?
192(1)
Exercises 8.4 Using Recursion
192(1)
Exercises 8.5 Fibonacci Function
192(1)
Exercises 8.6 A Calculator
192(3)
Lesson 9 Accessing Arrays
195(20)
Declaring an Array
196(7)
Assigning a Value to an Array Element
196(2)
Basic Rules of Arrays
198(3)
Similarity of an Array Element and Variable
201(2)
Declaring and Initializing an Array
203(1)
Inferring Array Size
204(1)
Using a for Loop to Define an Array
205(1)
Using Range with an Array
206(1)
Creating Multidimensional Arrays
207(2)
Duplicating an Array
209(1)
Comparing Arrays
210(2)
Summary
212(1)
Exercises
212(3)
Exercises 9.1 Two Arrays
212(1)
Exercises 9.2 Th ree Arrays
213(1)
Exercises 9.3 For Evens
213(1)
Exercises 9.4 Moving from One to Another
213(1)
Exercises 9.5 Forward and Backward
213(1)
Exercises 9.6 Two Dimensions of Four
213(1)
Exercises 9.7 Duplicating
214(1)
Exercises 9.8 Personal Data
214(1)
Lesson 10 Working with Pointers
215(22)
Creating a Pointer
215(7)
Initializing a Pointer
217(1)
Declaring and Initializing a Pointer
218(1)
Using Dynamic Typing
219(1)
Pointers of Different Types
219(3)
Accessing the Stored Value of a Pointer
222(1)
Understanding nil Pointers
223(2)
Using Pointers to Change Variables
225(1)
Comparing Pointers
226(1)
Working with an Array of Pointers
227(3)
Changing Values in an Array
229(1)
Using Pointers with Functions
230(2)
Changing Values from a Function
231(1)
Summary
232(1)
Exercises
233(4)
Exercises 10.1 Name, Age, and Gender
233(1)
Exercises 10.2 User Input
233(1)
Exercises 10.3 Playing with Pointers
234(1)
Exercises 10.4 Full Name
235(1)
Exercises 10.5 What's It Doing?
235(1)
Exercises 10.6 Reverse
236(1)
Exercises 10.7 Sort
236(1)
Lesson 11 Organizing with Structs
237(26)
Declaring and Initializing a Struct
238(4)
Retrieving Values from a Struct
239(1)
Initializing a Struct When Declaring
240(1)
Using the Short Assignment Operator
241(1)
Using Key-Value Pairs with Structs
242(3)
Using the new Keyword
245(2)
Pointers and Structs
247(1)
Nested Structs
248(2)
Adding Methods to a Struct
250(2)
Type and Value
252(2)
Comparing Structs
254(2)
Summary
256(1)
Exercises
256(7)
Exercises 11.1 Addressing an Envelope
257(1)
Exercises 11.2 Name
257(1)
Exercises 11.3 Full Name
257(1)
Exercises 11.4 Address Book
257(1)
Exercises 11.5 Passing a Struct
258(1)
Exercises 11.6 Nesting Practice
258(1)
Exercises 11.7 Burger Shop
259(2)
Challenges
261(2)
Lesson 12 Accessing Slices
263(24)
How Slices Work
264(1)
Slice an Array
265(3)
Using (en and cap
266(1)
Using Shortcuts
267(1)
Changing the Size of a Slice
268(2)
Iterating Through a Slice
270(1)
The make Function
271(1)
Creating a Slice Variable with var
272(1)
Working with Slice Elements
273(5)
Replacing an Element in a Slice
273(1)
Working with Empty Slices
274(1)
Working with a Section of a Slice
275(2)
Using range with Slices
277(1)
Appending to a Slice Using the append Function
278(1)
Copying a Slice
278(2)
Creating a Slice Using the new Keyword
280(2)
Removing an Item from a Slice
282(1)
Summary
283(1)
Exercises
283(4)
Exercises 12.1 Alphabet
284(1)
Exercises 12.2 Count the Letters
284(1)
Exercises 12.3 An Average Word
284(1)
Exercises 12.4 Student Names
285(1)
Exercises 12.5 No Blanks
285(1)
Exercises 12.6 Slicing Numbers Together
285(2)
Lesson 13 Manipulating Maps
287(18)
Defining a Map
287(4)
Maintaining Type
289(1)
Duplicating Keys
290(1)
Empty Maps
291(1)
Creating a Map Using make
292(2)
Map Length
294(1)
Retrieving Map Elements
294(2)
Checking for a Key
296(2)
Iterating Through a Map
298(1)
Deleting Map Elements
299(2)
Literal Declarations in Maps
301(1)
Summary
302(1)
Exercises
302(3)
Exercises 13.1 Creating Your Own Map
303(1)
Exercises 13.2 User Input
303(1)
Exercises 13.3 Looping
303(1)
Exercises 13.4 Does It Exist?
303(1)
Exercises 13.5 State Populations
304(1)
Exercises 13.6 Keyword Search
304(1)
Lesson 14 Creating Methods
305(20)
Working with Methods
305(2)
Defining a Method
307(2)
Using Pointers with Methods
309(3)
Naming Methods
312(2)
Working with Value Receivers and Arguments
314(3)
Working with Pointer Receivers and Arguments
317(2)
Summary
319(1)
Exercises
320(5)
Exercises 14.1 Functioning with Integers
320(1)
Exercises 14.2 Methods with Integers
321(1)
Exercises 14.3 Volume of a Solid
321(1)
Exercises 14.4 Banking Terminal
321(1)
Bank Account
321(1)
Wallet
322(1)
Define the Methods
322(1)
Main Function
323(1)
Challenge
323(2)
Lesson 15 Adding Interfaces
325(18)
Creating an Interface
325(3)
Interfaces and Code Reusability
328(2)
Static vs. Dynamic Interface Types
330(2)
Empty Interfaces
332(1)
Checking an Interface Type
332(2)
Multiple Interfaces
334(3)
Embedded Interfaces
337(2)
Summary
339(1)
Exercises
339(4)
Exercises 15.1 Rectangle Sides
340(1)
Exercises 15.2 Rectangle Space
340(1)
Exercises 15.3 Rectangle Borders
340(1)
Exercises 15.4 Triangles and Rectangles
341(1)
Exercises 15.5 Circles and Other Shapes
341(2)
Lesson 16 Pulling It All Together: Building a Burger Shop
343(34)
Requirements for Our Application
344(1)
Planning the Code
344(1)
Creating the Structs
345(14)
Creating a durger Struct
346(4)
Creating a drink Struct
350(2)
Creating a side Struct
352(2)
Creating a combo Struct
354(3)
Creating the oraerStruct
357(2)
Creating the Helper Functions
359(5)
Ordering a Burger
361(1)
Ordering a Side
362(1)
Ordering a Drink
363(1)
Ordering a Combo
364(1)
Tying the Code Together
364(3)
Summary
367(1)
The Full Burger Shop Listing
367(10)
PART III Creating Job Ready Solutions in Co
377(148)
Lesson 17 Handling Errors
379(16)
Errors in Co Programs
379(1)
The Go Error Type
380(2)
Custom Error Handling
382(1)
Error Methods
383(2)
Errorf
385(2)
Blank Identifiers
387(1)
Error Messages with Structs
388(2)
Multiple Custom Error Messages
390(3)
Summary
393(1)
Exercises
393(2)
Exercises 17.1 Not an Error
394(1)
Exercises 17.2 Greedy Withdrawal
394(1)
Exercises 17.3 Extending the Banking Application
394(1)
Exercises 17.4 On Your Own
394(1)
Lesson 18 Concurrency
395(26)
Using Concurrency
395(5)
The Role of the Operating System
396(1)
Problems with Concurrency
397(1)
Mutual Exclusion
398(2)
Parallelism
400(2)
Implementing Parallelism
400(1)
Preventing Problems with Parallelism
401(1)
Using Coroutines
402(3)
Multiple Coroutines
405(3)
Working with Channels
408(4)
Creating a Channel Using make
409(1)
Channels and Concurrency
409(2)
Adding a Delay
411(1)
Channels with Multiple Coroutines
412(1)
Closing Channels
413(2)
Iterating Through a Channel
415(2)
Summary
417(1)
Exercises
418(3)
Exercises 18.1 Counting Up and Down
418(1)
Exercises 18.2 Passing to a Goroutine
418(1)
Exercises 18.3 Rolling the Die
419(1)
Exercises 18.4 Rolling the Dice
419(2)
Lesson 19 Sorting and Data Processing
421(32)
Sorting
422(7)
Checking Sorted Values
423(2)
Custom Sort Functions
425(2)
Reversing the Sort Order
427(2)
Time and Date Operations
429(16)
Defining a Time
431(1)
Comparing Times
432(2)
Time Math
434(1)
Determining Date Differences
435(1)
Adding a Duration to a Date/Time
436(2)
Adding Hours, Minutes, and Seconds
438(1)
Adding Years, Months, and Days
439(2)
Parsing Time
441(2)
Working with Unix Time
443(1)
Formatting Standard Times
443(2)
Regular Expressions
445(3)
Summary
448(1)
Exercises
448(5)
Exercises 19.1 Sorting Floats
448(1)
Exercises 19.2 Sorting Student Grades
449(1)
Exercises 19.3 Knowing What Time It Is
449(1)
Exercises 19.4 Working with Dates
449(1)
Exercises 19.5 String Searching
450(1)
Exercises 19.6 More String Searching
450(1)
Exercises 19.7 Date-Time Calculator
450(1)
Calculator 1 Time Duration
451(1)
Calculator 2 Add Time to or Subtract Time from a Date
452(1)
Calculator 3 Age Calculator
452(1)
Lesson 20 File I/O and OS Operations
453(32)
Reading a File
454(11)
The panic Function
456(1)
Reading a Subset of a File
457(2)
The de/erStatement
459(1)
Reading a File from a Specific Starting Point
460(1)
Buffered Reader
461(1)
Reading a File Line by Line
462(3)
Writing to a File
465(5)
Creating a New File
467(1)
Buffered Writer
468(2)
Working with Directories
470(9)
Creating a Directory
471(1)
Deleting a Directory
472(1)
Creating a Directory Tree
473(1)
Listing Directory Contents
474(1)
Changing a Directory
475(2)
Temporary Files and Directories
477(2)
Command-Line Arguments
479(1)
Summary
480(1)
Exercises
481(4)
Exercises 20.1 Text Filing
481(1)
Exercises 20.2 Jumping Around
482(1)
Exercises 20.3 Counting Letters
482(1)
Exercises 20.4 Copying a File
482(1)
Exercises 20.5 Copying a File, Take 2
482(1)
Exercises 20.6 Burger Shop
483(2)
Lesson 21 Pulling It All Together: Word Analysis in Co
485(40)
Examining the Data
486(2)
Reading the Review Data
488(9)
Returning the Reviews
495(2)
Tokenizing an Input String
497(5)
Identifying and Replacing Punctuation with a Space
498(2)
Converting Input Text to Lowercase
500(1)
Splitting the String into Words
501(1)
Creating a Tokenize Function
502(2)
Tokenizing an Input Review
503(1)
Tokenizing the Entire Dataset
504(1)
Counting the Words in Each Review
504(2)
Tokenizing and Counting the Reviews
506(3)
Designing Improvements
509(11)
Improvement 1 Improving the Structs
509(1)
Update readJson_file
510(2)
Update to Tokenize
512(1)
Main Function Update
512(2)
Word Count Update
514(1)
Improvement 2 Adding Custom Error and Exception Handling
515(1)
Improvement 3 Improving Tokenizing
516(2)
Improvement 4 Improving Word Counting
518(2)
Possible Further Improvements
520(1)
Final Code Listing
520(4)
Summary
524(1)
PART IV Advanced Topics for Co Development
525(126)
Lesson 22 Testing
527(34)
Test-Driven Development
527(1)
Testing Levels
528(1)
The TDD Workflow
529(2)
The TDD Process
530(1)
Advantages of TDD
530(1)
The Testing Package
531(3)
Creating the Program
531(1)
Writing the Test
531(2)
Running the Test
533(1)
Tutorial: Test-Driven Development
534(21)
First Test: String Representation of Dollar Amount
535(1)
Add a Test
535(1)
Write the Program
536(1)
Run the Test
536(1)
Second Test: Test with Other Values
537(1)
Add a Test
537(1)
Reconfigure the Test
538(1)
Reconfigure the Program
539(1)
Run the Test
540(1)
Third Test: Operation Output
540(1)
Add a Test
540(1)
Reconfigure the Program
541(1)
Run the Test
542(1)
Test the Test
543(1)
Refactor Subtract FormatAmount
544(1)
Run the Test
545(1)
Examining the Tests
545(1)
Test Coverage
545(1)
Coverage Reports
546(1)
Fourth Test: Include Subtraction
546(1)
Add a Test
547(2)
Refactor the Program
549(1)
Run the Test
550(1)
Final Tests: Look at input Values
550(1)
Add a Test
551(1)
Update the Tests
551(2)
Refactor the Program
553(1)
Run the Test
554(1)
Behavior-Driven Development
555(4)
Goals of Behavior-Driven Development
555(1)
Avoiding Failure
556(1)
Behavior Specifications
557(1)
Defining User Stories
558(1)
Specification Workshops
558(1)
Executable Specifications
558(1)
Summary
559(1)
Exercises
559(2)
Exercises 22.1 Breaking the Square
559(1)
Exercises 22.2 Adding More to Dollar
559(2)
Lesson 23 API Development Tutorial
561(30)
Overview and Requirements
561(1)
Step 1 Create the Dataset and a Simple API
562(9)
Defining the Dataset
563(1)
The homePage Function
564(1)
Return Handler
565(1)
Handling and Routing Incoming Requests
565(1)
Adding Data
566(1)
Executing the Request Handler
566(2)
Running the Program
568(3)
Step 2 Add a Router Gorilla Mux
571(3)
Step 3 Retrieve a Record
574(4)
Retrieving a Specific Record
574(1)
Testing the Updates
575(3)
Step 4 Add a New Record
578(6)
Step 5 Delete a Record
584(4)
Summary
588(1)
Exercises
588(3)
Exercises 23.1 Students
589(1)
Exercises 23.2 Student Name
589(1)
Exercises 23.3 Going Local
589(2)
Lesson 24 Working with gRPC
591(16)
Working with gRPC
592(1)
Setting Up the Services
592(3)
Git
592(1)
GRPC
593(1)
Protobuf
593(1)
Protoc
594(1)
User Directory
595(1)
Creating a Server
595(1)
Creating a gRPC Server
596(1)
Creating the Chat Service
597(2)
Updating the Server Code to Include the Chat Service
599(1)
Creating the chat Package
600(1)
Creating a Client
601(2)
Running the Server and the Client
603(1)
Summary
604(1)
Exercises
604(3)
Exercises 24.1 Chat Assistant
604(1)
Exercises 24.2 The Real Weather
605(1)
Exercises 24.3 Adding Stock
605(2)
Lesson 25 Pulling It All Together: Using Smart Data
607(38)
Project Overview
608(1)
Designing Our API
608(3)
Implementing the gRPC Server
611(24)
The Geolocation Server Shell
612(4)
Accessing Google Location Data
616(1)
Updating geolocation.go
617(2)
Updating client_geolocation.go
619(2)
The Finance Server Shell
621(3)
Accessing Yahoo Finance Quotes
624(3)
Signing Up for a Yahoo Finance API Key
627(1)
Querying the Yahoo Finance API Programmatically
627(4)
Updating GetQuoteData
631(2)
Testing Our Quote RPC
633(2)
Creating the API
635(9)
Implementing the getCeoLocationData Endpoints
637(1)
Implementing the getQuote Endpoint
638(1)
Updating the api.go File
639(5)
Summary
644(1)
Lesson 26 Using Modules
645(6)
Getting Started with Modules
645(1)
Step 1 Create the Project Directory
645(1)
Step 2 Create Your Program(s)
646(1)
Step 3 Create a Test Program
647(1)
Step 4 Create the go.modFile
647(1)
Step 5 Test the Module
648(1)
Step 6 Using the Module
648(1)
Naming Module Functions
649(1)
Summary
649(1)
Exercises
649(2)
Exercises 26.1 Shouting Text
650(1)
Exercises 26.2 Shouting Correctly
650(1)
Exercises 26.3 Shout It!
650(1)
Exercises 26.4 On Your Own
650(1)
Appendix: File Permissions and Access Rights 651(4)
Index 655
HAYTHEM BALTI, PhD, 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.