Hone logo
Hone
Problems

Go Goroutine Hello World

This challenge introduces you to the fundamental concept of Goroutines in Go. You will learn how to launch a simple, concurrent task that runs independently of your main program flow. Understanding Goroutines is crucial for building efficient and scalable Go applications.

Problem Description

Your task is to create a Go program that prints "Hello, Goroutine!" to the console. The twist is that this message should be printed from within a Goroutine, not directly from the main function. This will demonstrate how to initiate a concurrent execution path.

Requirements:

  1. Define a function that prints the string "Hello, Goroutine!".
  2. In the main function, launch this defined function as a Goroutine.
  3. Ensure that the "Hello, Goroutine!" message is visible in the output.

Expected Behavior: When the program is run, the output should be:

Hello, Goroutine!

Edge Cases: The primary challenge here is ensuring the Goroutine has enough time to execute before the main function exits. If the main function finishes too quickly, the Goroutine's output might not appear. You'll need a mechanism to pause the main function long enough.

Examples

Example 1:

Input: No specific input is provided. The program is self-contained.
Output:
Hello, Goroutine!
Explanation: The 'main' function starts a Goroutine which prints the message. The 'main' function then waits for a short period, allowing the Goroutine to complete its task before exiting.

Constraints

  • The solution must be written in Go.
  • The solution should use the go keyword to launch a Goroutine.
  • The output must be exactly "Hello, Goroutine!".

Notes

  • Think about how to prevent the main function from exiting immediately after launching the Goroutine. The time package might be helpful here.
  • Consider what happens if the Goroutine is launched and the main function finishes before the Goroutine gets a chance to print. This is the core problem you need to solve to see the output.
Loading editor...
go