🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsSetting up live captions stuck in Windows 11(14.09.2026 um 16:31 Uhr)
🕵️ SicherheitslückenBurn Out, Or Fade Away(14.09.2026 um 14:25 Uhr)
🪟 Windows TippsWindows 11's latest update broke my speakers, and I'm not alone(14.09.2026 um 18:54 Uhr)
🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
🪟 Windows TippsSetting up live captions stuck in Windows 11(14.09.2026 um 16:31 Uhr)
🕵️ SicherheitslückenBurn Out, Or Fade Away(14.09.2026 um 14:25 Uhr)
🪟 Windows TippsWindows 11's latest update broke my speakers, and I'm not alone(14.09.2026 um 18:54 Uhr)

🔧 Programmierung 🕛 vor 1 Jahr 6 Min Lesezeit
0

Go Basics: Syntax and Structure

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

Welcome to the second installment of our Go Tutorial Series, where we dive into the fundamentals of Go (Golang) to help you build a strong foundation. In this article, we’ll explore Go Basics: Syntax and Structure, covering everything from writing your hello world program to understanding variables, constants, data types, and more. Whether you're a beginner or looking to solidify your understanding, this guide will provide you with the knowledge you need to write clean and efficient Go code.



By the end of this article, you’ll:




  • Write your first Go program: Hello, World!

  • Understand the main package and main function.

  • Learn about variables, constants, and data types.

  • Discover zero values in Go.

  • Explore type inference and type conversion.



Let’s get started!









Core Concepts






1. Writing Your First Go Program: Hello, World!



Every programming journey begins with a simple "Hello, World!" program. In Go, this is no different. Here’s how you can write it:




CODE
package main

import "fmt"

func main() {
fmt.Println("Hello, World!")
}









Explanation:





  • package main: Every Go program starts with a package declaration. The main package is special because it tells the Go compiler that this is an executable program.


  • import "fmt": The fmt package is imported to use functions like Println for printing output to the console.


  • func main(): The main function is the entry point of the program. Execution begins here.


  • fmt.Println("Hello, World!"): This line prints "Hello, World!" to the console.






2. Understanding the main Package and main Function




  • The main package is required for creating an executable program. Without it, your code won’t run as a standalone application.

  • The main function is mandatory in the main package. It’s where the program starts executing.






3. Basic Syntax: Variables, Constants, and Data Types



Go is a statically typed language, meaning you need to define the type of data a variable can hold. However, Go also supports type inference, making it easier to write concise code.






Variables



Variables are declared using the var keyword:




CODE
var name string = "Go Developer"
var age int = 25






You can also use shorthand syntax (inside functions):




CODE
name := "Go Developer"
age := 25









Constants



Constants are immutable values declared with the const keyword:




CODE
const pi float64 = 3.14159









Data Types



Go has several built-in data types:





  • Basic types: int, float64, string, bool
    Example:




CODE
  var age int = 30
var price float64 = 19.99
var name string = "Alice"
var isActive bool = true








  • Composite types: array, slice, struct, map
    Example:




CODE
  // Array
var scores [3]int = [3]int{90, 85, 88}

// Slice
var grades []float64 = []float64{89.5, 92.3, 76.8}

// Struct
type Person struct {
FirstName string
LastName string
Age int
}
var person = Person{"John", "Doe", 25}

// Map
var capitals map[string]string = map[string]string{
"France": "Paris",
"Japan": "Tokyo",
}









4. Zero Values in Go



In Go, variables declared without an explicit initial value are given their zero value:





  • 0 for numeric types.


  • false for boolean types.


  • "" (empty string) for strings.


  • nil for pointers, slices, maps, and channels.



Example:




CODE
var count int       // 0
var isReady bool // false
var name string // ""
var ids []string // nil









5. Type Inference and Type Conversion



Go can infer the type of a variable based on the assigned value:




CODE
x := 42          // int
y := 3.14 // float64
z := "Golang" // string






For type conversion, you need to explicitly convert between types:




CODE
var i int = 42
var f float64 = float64(i)












Practical Example



Let’s build a more comprehensive program that demonstrates the concepts we’ve covered, including variables, constants, data types, zero values, type inference, and type conversion.




CODE
package main

import (
"fmt"
"math"
)

func main() {
// Variables and constants
const pi = 3.14159
radius := 5.0
area := pi * math.Pow(radius, 2)

// Type conversion
var intArea int = int(area)

// Zero values
var count int
var isReady bool
var name string
var ids []string

// Type inference
x := 42 // int
y := 3.14 // float64
z := "Golang" // string

// Composite types
// Array
var scores [3]int = [3]int{90, 85, 88}

// Slice
var grades []float64 = []float64{89.5, 92.3, 76.8}

// Struct
type Person struct {
FirstName string
LastName string
Age int
}
var person = Person{"John", "Doe", 25}

// Map
var capitals map[string]string = map[string]string{
"France": "Paris",
"Japan": "Tokyo",
}

// Output
fmt.Println("--- Basic Variables and Constants ---")
fmt.Printf("Radius: %.2f\n", radius)
fmt.Printf("Area (float): %.2f\n", area)
fmt.Printf("Area (int): %d\n", intArea)

fmt.Println("\n--- Zero Values ---")
fmt.Printf("Count: %d\n", count)
fmt.Printf("IsReady: %v\n", isReady)
fmt.Printf("Name: %q\n", name)
fmt.Printf("IDs: %v\n", ids)

fmt.Println("\n--- Type Inference ---")
fmt.Printf("x: %d (type: %T)\n", x, x)
fmt.Printf("y: %.2f (type: %T)\n", y, y)
fmt.Printf("z: %s (type: %T)\n", z, z)

fmt.Println("\n--- Composite Types ---")
fmt.Printf("Scores: %v\n", scores)
fmt.Printf("Grades: %v\n", grades)
fmt.Printf("Person: %+v\n", person)
fmt.Printf("Capitals: %v\n", capitals)
}










Output






CODE
--- Basic Variables and Constants ---
Radius: 5.00
Area (float): 78.54
Area (int): 78

--- Zero Values ---
Count: 0
IsReady: false
Name: ""
IDs: []

--- Type Inference ---
x: 42 (type: int)
y: 3.14 (type: float64)
z: Golang (type: string)

--- Composite Types ---
Scores: [90 85 88]
Grades: [89.5 92.3 76.8]
Person: {FirstName:John LastName:Doe Age:25}
Capitals: map[France:Paris Japan:Tokyo]










Explanation:





  1. Variables and Constants:




    • We declare a constant pi and a variable radius.

    • We calculate the area of a circle using the formula πr².




  2. Type Conversion:




    • We convert the area from float64 to int.




  3. Zero Values:




    • We demonstrate zero values for int, bool, string, and slice.




  4. Type Inference:




    • We show how Go infers types for variables x, y, and z.




  5. Composite Types:




    • We create an array, a slice, a struct, and a map to demonstrate composite types.




  6. Output:




    • We print the results using fmt.Printf and fmt.Println to show the values and types of the variables.











Best Practices





  1. Use Descriptive Variable Names: Choose meaningful names for variables and constants to improve code readability.




CODE
   var userName string = "JohnDoe" // Good
var x string = "JohnDoe" // Avoid








  1. Leverage Type Inference: Use shorthand syntax (:=) for variable declaration when the type is obvious.




CODE
   age := 25 // Instead of var age int = 25







  1. Avoid Unnecessary Type Conversion: Only convert types when absolutely necessary to avoid potential data loss or errors.


  2. Initialize Variables Explicitly: While Go provides zero values, it’s often better to initialize variables explicitly to avoid confusion.


  3. Keep the main Function Clean: Delegate logic to other functions to keep your main function concise and readable.










Conclusion



In this article, we covered the basics of Go syntax and structure, including writing your hello world program with go, understanding the main package and function, working with variables and constants, and exploring zero values, type inference, and type conversion. These concepts are the building blocks of Go programming, and mastering them will set you up for success as you continue your journey.



Try modifying the example program or creating your own to reinforce what you’ve learned.









Call to Action



This article is part of a Go Tutorial Series designed to help you master Golang. Check it out on my blog. Stay tuned for the next tutorial, where we’ll dive into Control Structures in Go.



Happy coding! 🚀

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
The Gemini desktop app is now available for Windows
1 Quelle
Setting up live captions stuck in Windows 11
1 Quelle
Burn Out, Or Fade Away
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Go Basics: Syntax and Structure

Thematisch verwandte Begriffe: Basics, Syntax, Structure · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...