Golang
Golang

 

 

 

Introduction

This program is a fun and interactive game where the computer selects a random number, and the user attempts to guess it.
It’s an excellent way to learn Go programming, practice using libraries, and understand conditional statements.

Objective

The objective of this project is to develop a simple yet engaging number guessing game to improve problem-solving skills
and familiarity with Go programming concepts such as random number generation, loops, and user input handling.

Code


package main

import (
	"bufio"
	"fmt"
	"math/rand"
	"os"
	"strconv"
	"time"
)

func main() {
	// Initialize the random seed
	rand.Seed(time.Now().UnixNano())

	// Generate a random number between 1 and 100
	target := rand.Intn(100) + 1
	fmt.Println("Welcome to the Number Guessing Game!")
	fmt.Println("I have selected a number between 1 and 100. Can you guess it?")

	// Scanner for user input
	reader := bufio.NewReader(os.Stdin)

	for attempts := 1; ; attempts++ {
		fmt.Printf("Attempt %d: Enter your guess: ", attempts)
		input, err := reader.ReadString('\n')
		if err != nil {
			fmt.Println("Error reading input. Please try again.")
			continue
		}

		// Convert input to integer
		guess, err := strconv.Atoi(input[:len(input)-1])
		if err != nil {
			fmt.Println("Invalid input. Please enter a number.")
			continue
		}

		// Check the user's guess
		if guess < target { fmt.Println("Too low!") } else if guess > target {
			fmt.Println("Too high!")
		} else {
			fmt.Printf("Congratulations! You've guessed the number in %d attempts.\n", attempts)
			break
		}
	}
}

Explanation

The program is structured as follows:

  • Random Number Generation: The math/rand package is used to generate a random number
    between 1 and 100.
  • User Input: The bufio and os packages are used to read input from the user,
    which is then converted to an integer using the strconv package.
  • Game Loop: A loop is used to repeatedly prompt the user for guesses until the correct number is guessed.
  • Conditional Statements: If-else conditions compare the user’s guess with the target number and provide
    feedback (“Too low”, “Too high”, or “Correct”).

How to Run the Program

  1. Ensure you have Go installed on your system. You can download it from
    Go’s official website.
  2. Save the code in a file named guessing_game.go.
  3. Open a terminal and navigate to the directory containing the file.
  4. Run the program with the following command:
    go run guessing_game.go
  5. Follow the on-screen instructions to play the game.

 

By Aditya Bhuyan

I work as a cloud specialist. In addition to being an architect and SRE specialist, I work as a cloud engineer and developer. I have assisted my clients in converting their antiquated programmes into contemporary microservices that operate on various cloud computing platforms such as AWS, GCP, Azure, or VMware Tanzu, as well as orchestration systems such as Docker Swarm or Kubernetes. For over twenty years, I have been employed in the IT sector as a Java developer, J2EE architect, scrum master, and instructor. I write about Cloud Native and Cloud often. Bangalore, India is where my family and I call home. I maintain my physical and mental fitness by doing a lot of yoga and meditation.

Leave a Reply

Your email address will not be published. Required fields are marked *

error

Enjoy this blog? Please spread the word :)