Bird
Raised Fist0
Goprogramming~5 mins

Basic data types in Go

Choose your learning style10 modes available
Introduction

Basic data types help us store different kinds of information like numbers, text, and true/false values in a program.

When you want to store a person's age as a number.
When you need to save a name or message as text.
When you want to keep track if a light is on or off using true or false.
When you want to do math with numbers like adding or subtracting.
When you want to check conditions like if a user is logged in or not.
Syntax
Go
var variableName dataType

// Examples:
var age int
var name string
var isActive bool

Use var keyword to declare a variable with a type.

Common basic types are int for whole numbers, float64 for decimal numbers, string for text, and bool for true/false.

Examples
This creates a variable named age that holds a whole number 30.
Go
var age int = 30
This creates a variable named price that holds a decimal number 19.99.
Go
var price float64 = 19.99
This creates a variable named name that holds the text "Alice".
Go
var name string = "Alice"
This creates a variable named isOpen that holds the value true.
Go
var isOpen bool = true
Sample Program

This program declares variables of different basic types and prints their values.

Go
package main

import "fmt"

func main() {
    var age int = 25
    var price float64 = 9.99
    var name string = "Bob"
    var isMember bool = false

    fmt.Println("Age:", age)
    fmt.Println("Price:", price)
    fmt.Println("Name:", name)
    fmt.Println("Is member:", isMember)
}
OutputSuccess
Important Notes

Go requires you to specify the type of variable when you declare it.

You can also let Go guess the type by using := like age := 25.

Basic types are the building blocks for storing data in your program.

Summary

Basic data types store simple values like numbers, text, and true/false.

Use int for whole numbers, float64 for decimals, string for text, and bool for true/false.

Declare variables with var and specify the type to hold data.

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