1. Что выведет код с интерфейсами, селектом и передачей в функцию по значению/указателю, и как его исправить?
func (c *Count) Increment() {
*c++
}
func main() {
var count Count
count.Increment()
fmt.Println(count)
} msgChan := make(chan string, 1)
close(msgChan)
stopChan := make(chan struct{})
close(stopChan)
select {
case msgChan <- "msg":
fmt.Println("msg sent")
case <-stopChan:
fmt.Println("stop signal received")
}// Что выведет?
var s *string
fmt.Println(s == nil)
var i interface{}
fmt.Println(i == nil)
i = s
fmt.Println(i == nil)2. Задача: Написать логгер с использованием списка…