1. Задача: Что выведет данный код с интерфейсами?
package main
import (
"fmt"
"os"
)
func foo() error {
var err *os.PathError
return err
}
func main() {
err := foo()
if err != nil {
fmt.Printf("NOT NIL: %vn", err)
return
}
fmt.Println("NIL")
}2. Задача: В чем разница между for и for range в Go?
package main
import "fmt"
func main() {
s := "Hi ☺"
for i := 0; i < len(s); i++ {
fmt.Printf("index %v: %cn", i, s[i])
}
fmt.Println()
for i, r := range s {
fmt.Printf("index %v: %cn", i, r)
}
}3. Задача: Что выведет данный код при модификации слайса?
package main
import "fmt"
func modSlice(s []int) {
for k, v := range s {
s[k] = v * 2
}
s = append(s, 10)
}
func main() {
s := []int{1, 2, 3}…