mirror of
https://github.com/MADTeacher/go_basics.git
synced 2025-11-23 21:34:47 +02:00
24 lines
519 B
Go
24 lines
519 B
Go
|
|
package main
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
)
|
||
|
|
|
||
|
|
func infoChan(c chan int) {
|
||
|
|
length, capacity := len(c), cap(c)
|
||
|
|
fmt.Printf("Length = %d, capacity = %d\n", length, capacity)
|
||
|
|
}
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
var value int
|
||
|
|
myChannel := make(chan int, 3) // объявление буферизированного канала
|
||
|
|
defer close(myChannel) // отложенное закрытие канала
|
||
|
|
infoChan(myChannel)
|
||
|
|
myChannel <- 1
|
||
|
|
myChannel <- 2
|
||
|
|
infoChan(myChannel)
|
||
|
|
value = <-myChannel
|
||
|
|
infoChan(myChannel)
|
||
|
|
fmt.Println(value)
|
||
|
|
}
|