Leia uma linha completa de comentários em Go

O fmtpacote de Go tem um requisito estrito de “espaço delimitado” ao ler a entrada. Para ler uma linha completa, você precisará usar um método como este:

package main

import (
"bufio"
"fmt"
"os"
)

// read *all* input up to the newline
func readln
(r *bufio.Reader) (string, error) {
var (
isPrefix
bool = true
err error
= nil
line
, ln []byte
)

for isPrefix && err == nil {
line
, isPrefix, err = r.ReadLine()
ln
= append(ln, line...)
}

return string(ln), err
}

func main
() {
in := bufio.NewReader(os.Stdin)
var name string

fmt
.Print("Enter your name: ")
name
,_ = readln(in)
fmt
.Printf("Welcome, %s.n", name)
}