Bird
Raised Fist0
Goprogramming~10 mins

Basic data types in Go - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Basic data types
Start
↓
Declare variable with type
↓
Assign value matching type
↓
Use variable in code
↓
Program runs with correct types
↓
End
This flow shows how Go variables are declared with specific types, assigned values, and used in the program.
Execution Sample
Go
package main
import "fmt"
func main() {
  var age int
  age = 30
  var name string
  name = "Alice"
  fmt.Println(name, age)
}
This code declares variables of basic types int and string, assigns values, and prints them.
Execution Table
StepActionVariableTypeValueOutput
1Declare variableageint0 (default)
2Assign valueageint30
3Declare variablenamestring"" (default)
4Assign valuenamestring"Alice"
5Print variablesname, agestring, int"Alice", 30Alice 30
6Program ends
💡 Program ends after printing variables with assigned values.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4Final
ageundefined030303030
nameundefinedundefinedundefined"""Alice""Alice"
Key Moments - 3 Insights
Why does 'age' start with 0 before assignment?
In Go, variables declared with a type get a default zero value (0 for int) before explicit assignment, as shown in step 1 of the execution_table.
Can we assign a string value to 'age' variable?
No, because 'age' is declared as int type. Assigning a string would cause a compile error. The execution_table shows 'age' only holds int values.
Why do we need to declare variable types explicitly?
Go is statically typed, so variable types must be declared to ensure type safety. This is shown in the declaration steps in the execution_table.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of 'name' after step 4?
A""
B"Alice"
Cundefined
D30
💡 Hint
Check the 'Value' column for 'name' at step 4 in the execution_table.
At which step does 'age' get assigned the value 30?
AStep 1
BStep 3
CStep 2
DStep 4
💡 Hint
Look at the 'Action' and 'Value' columns for 'age' in the execution_table.
If we tried to assign a string to 'age', what would happen?
ACompile error due to type mismatch
BProgram prints the string
CVariable 'age' changes type to string
DProgram runs but value ignored
💡 Hint
Recall Go's static typing explained in key_moments and the variable types in execution_table.
Concept Snapshot
Basic data types in Go:
- Declare variables with 'var name type'
- Types include int, string, bool, etc.
- Variables get default zero values
- Assign values matching declared type
- Type safety prevents mismatched assignments
Full Transcript
This example shows how Go handles basic data types. Variables are declared with a type, like int or string. When declared, they get default zero values (0 for int, empty string for string). Then we assign actual values. The program prints these values. Go checks types strictly, so you cannot assign a string to an int variable. This ensures your program runs safely and predictably.

Practice

(1/5)
1. Which Go data type is used to store true or false values?
easy
A. float64
B. int
C. string
D. bool

Solution

  1. Step 1: Understand the data types

    In Go, bool is used for true/false values, int for whole numbers, string for text, and float64 for decimals.
  2. Step 2: Match the type to true/false

    Since true/false are boolean values, the correct type is bool.
  3. Final Answer:

    bool -> Option D
  4. Quick Check:

    Boolean type = bool [OK]
Hint: True/false values always use bool type in Go [OK]
Common Mistakes:
  • Choosing int for true/false
  • Using string for boolean values
  • Confusing float64 with bool
2. Which of the following is the correct way to declare an integer variable named age in Go?
easy
A. int age
B. var age int
C. age := int
D. var int age

Solution

  1. Step 1: Recall Go variable declaration syntax

    In Go, variables are declared with var followed by the name and then the type.
  2. Step 2: Check each option

    var age int matches this syntax: var age int. Others do not follow Go syntax.
  3. Final Answer:

    var age int -> Option B
  4. Quick Check:

    Variable declaration = var name type [OK]
Hint: Use 'var name type' to declare variables in Go [OK]
Common Mistakes:
  • Writing type before variable name
  • Using := without initialization
  • Mixing order of var and type
3. What will be the output of this Go code?
package main
import "fmt"
var x int = 10
var y float64 = 5.5
var z string = "Go"
func main() {
	fmt.Println(x, y, z)
}
medium
A. 10 5.5 Go
B. 10 5 Go
C. 10 5.5 "Go"
D. Error: cannot print variables

Solution

  1. Step 1: Understand variable values

    Variable x is 10 (int), y is 5.5 (float64), and z is "Go" (string).
  2. Step 2: Check fmt.Println output

    fmt.Println prints values separated by spaces without quotes for strings.
  3. Final Answer:

    10 5.5 Go -> Option A
  4. Quick Check:

    Print values as is, strings without quotes [OK]
Hint: fmt.Println prints strings without quotes by default [OK]
Common Mistakes:
  • Expecting quotes around strings
  • Confusing float64 with int
  • Thinking fmt.Println causes error
4. Find the error in this Go code snippet:
var name string = 123
fmt.Println(name)
medium
A. fmt.Println requires parentheses
B. Missing semicolon after declaration
C. Cannot assign int to string variable
D. Variable name is a reserved keyword

Solution

  1. Step 1: Check variable assignment types

    The variable name is declared as string but assigned the integer 123, which is a type mismatch.
  2. Step 2: Verify other syntax

    Semicolons are optional in Go, fmt.Println is correctly used, and name is not a reserved keyword.
  3. Final Answer:

    Cannot assign int to string variable -> Option C
  4. Quick Check:

    Type mismatch error = assigning int to string [OK]
Hint: Match variable type and assigned value type exactly [OK]
Common Mistakes:
  • Assigning wrong type value
  • Thinking semicolon is mandatory
  • Confusing reserved keywords
5. You want to store a person's age, height in meters, name, and if they are a student. Which Go variable declarations are correct?
hard
A. var age int var height float64 var name string var isStudent bool
B. var age float64 var height int var name bool var isStudent string
C. var age string var height string var name int var isStudent int
D. var age bool var height bool var name float64 var isStudent int

Solution

  1. Step 1: Match data types to real-world data

    Age is a whole number, so int. Height can have decimals, so float64. Name is text, so string. Student status is true/false, so bool.
  2. Step 2: Check each option

    var age int var height float64 var name string var isStudent bool matches these types correctly. Others assign wrong types to variables.
  3. Final Answer:

    var age int var height float64 var name string var isStudent bool -> Option A
  4. Quick Check:

    Correct types for data = int, float64, string, bool [OK]
Hint: Use int for whole numbers, float64 for decimals, string for text, bool for true/false [OK]
Common Mistakes:
  • Mixing int and float64
  • Using bool for text
  • Assigning string to boolean
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard