for i := 0; i < 3; i++ {
go func() { fmt.Print(i) }()
}Show answer
Answer
Source: Fixing for loops in Go 1.22
15 programming language interview questions on Go, each with the correct answer and a full explanation.
for i := 0; i < 3; i++ {
go func() { fmt.Print(i) }()
}Answer
Source: Fixing for loops in Go 1.22
var m map[string]int
fmt.Println(m["a"])
m["a"] = 1Answer
a := []int{1, 2, 3}
b := a[:2]
b = append(b, 9)
fmt.Println(a)Answer
[1 2 9] Source: Go slices: usage and internals
type MyErr struct{}
func (*MyErr) Error() string { return "x" }
var p *MyErr = nil
var err error = p
fmt.Println(err != nil)Answer
Source: Go FAQ
for i := 0; i < 3; i++ {
defer fmt.Print(i)
}Answer
Source: The Go Programming Language Specification, Effective Go
x := 1
defer fmt.Println(x)
x = 2Answer
ch := make(chan int)
ch <- 1
fmt.Println(<-ch)Answer
ch := make(chan int, 1)
close(ch)
v, ok := <-ch
fmt.Println(v, ok)Answer
type Counter struct{ n int }
func (c Counter) Inc() { c.n++ }
c := Counter{}
c.Inc()
fmt.Println(c.n)Answer
Source: Effective Go
Answer
Answer
Source: Go FAQ
var wg sync.WaitGroup
for _, j := range jobs {
go func() {
wg.Add(1)
defer wg.Done()
run(j)
}()
}
wg.Wait()Answer
Source: The Go Memory Model
Answer
Answer
Source: The Go Memory Model
Answer
[2]int These questions come from the Language Gotchas pack in Bertopia.