Go
Version
Running Go 1.23
Supported languages
Go
Testing framework
Special reminders and implementation details
go
package main
import "testing"
func TestHelloWorld(t *testing.T) {
t.Run("It should return 'Hello World!'", func(t *testing.T) {
result := HelloWorld()
if result != "Hello World!" {
t.Errorf("Expected 'Hello World!' but got '%s'", result)
}
})
}Included libraries
- Go standard library v1.23 (including
testing,fmt, and other built-in packages) - External packages can be added via the dependency manager
pkg.go.dev
How to debug
Debugging Go code is essential for every developer. One of the simplest yet effective ways to debug is by using fmt.Println and fmt.Printf statements.
Steps to Debug Using fmt.Println and fmt.Printf Statements
Identify the Problem Area: Locate the section of your code where you suspect the problem might be.
Insert
fmt.Printlnorfmt.PrintfStatements: Addfmt.Printlnorfmt.Printfstatements before and after the suspected problematic code to print out variable values and flow control.Check the Results Output of your tests.
Analyze the Output: Look at the values printed on the results console to understand what's going wrong in your code. Adjust your code based on the findings and repeat as necessary.
Here's an example of how to use fmt.Println for debugging:
go
package main
import "fmt"
func CalculateSum(a, b int) int {
fmt.Printf("CalculateSum called with arguments: %d, %d\n", a, b) // Log function call
sum := a + b
fmt.Printf("Sum after addition: %d\n", sum) // Log sum calculation
return sum
}