Files
micro--go-micro/examples/hello-world/README.md
T
wehub-resource-sync e071084ebe
govulncheck / govulncheck (push) Waiting to run
Harness (E2E) / Harnesses (mock LLM) (push) Waiting to run
Harness (E2E) / Provider harnesses (live LLM conformance) (push) Waiting to run
Lint / golangci-lint (push) Waiting to run
Run Tests / Unit Tests (push) Waiting to run
Run Tests / Etcd Integration Tests (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 12:40:33 +08:00

1.5 KiB

Hello World Example

The simplest go-micro service demonstrating core concepts.

What It Does

This example creates a basic RPC service that:

  • Listens on port 8080
  • Exposes a Greeter.Hello method
  • Returns a greeting message
  • Demonstrates both programmatic and HTTP access

Run It

go run main.go

The service will start and make test calls to itself, then wait for incoming requests.

Test It

Using curl

curl -X POST http://localhost:8080 \
  -H 'Content-Type: application/json' \
  -H 'Micro-Endpoint: Greeter.Hello' \
  -d '{"name": "Alice"}'

Expected response:

{"message": "Hello Alice"}

Using the micro CLI

micro call greeter Greeter.Hello '{"name": "Bob"}'

Code Walkthrough

  1. Define types - Request and Response structures
  2. Implement handler - The Greeter service with Hello method
  3. Create service - Using micro.NewService() with options
  4. Register handler - Link the handler to the service
  5. Run service - Start listening for requests

Key Concepts

  • RPC Pattern: Method signature func(ctx, req, rsp) error
  • Service Discovery: Automatic registration
  • Multiple Transports: Works over HTTP, gRPC, etc.
  • Type Safety: Strongly typed requests/responses

Next Steps