/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue19201.go
52 строки
765 B
Ilya Tocar
test/fixedbugs: add a test for 19201
28 мар 2017, 22:07
28 мар 2017, 22:07
4b50c81
Код
Авторство
О чём код?
// run // Copyright 2017 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "encoding/binary" ) var ( ch1 = make(chan int) ch2 = make(chan int) bin = []byte("a\000\000\001") want = binary.BigEndian.Uint32(bin) c consumer = noopConsumer{} ) type msg struct { code uint32 } type consumer interface { consume(msg) } type noopConsumer struct{} func (noopConsumer) consume(msg) {} func init() { close(ch1) } func main() { var m msg m.code = binary.BigEndian.Uint32(bin) select { case <-ch1: c.consume(m) if m.code != want { // can not use m.code here, or it will work panic("BigEndian read failed") } case <-ch2: } }