⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.91
Server IP:
217.21.90.168
Server:
Linux in-mum-web840.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
Server Software:
LiteSpeed
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
opt
/
golang
/
1.17.2
/
test
/
fixedbugs
/
View File Name :
issue16870.go
// run // Copyright 2016 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 ( "log" "reflect" ) func test(got, want interface{}) { if !reflect.DeepEqual(got, want) { log.Fatalf("got %v, want %v", got, want) } } func main() { var i int var ip *int var ok interface{} // Channel receives. c := make(chan int, 1) c2 := make(chan int) c <- 42 i, ok = <-c test(i, 42) test(ok, true) c <- 42 _, ok = <-c test(ok, true) c <- 42 select { case i, ok = <-c: test(i, 42) test(ok, true) } c <- 42 select { case _, ok = <-c: test(ok, true) } c <- 42 select { case i, ok = <-c: test(i, 42) test(ok, true) default: log.Fatal("bad select") } c <- 42 select { case _, ok = <-c: test(ok, true) default: log.Fatal("bad select") } c <- 42 select { case i, ok = <-c: test(i, 42) test(ok, true) case <-c2: log.Fatal("bad select") } c <- 42 select { case _, ok = <-c: test(ok, true) case <-c2: log.Fatal("bad select") } close(c) i, ok = <-c test(i, 0) test(ok, false) _, ok = <-c test(ok, false) // Map indexing. m := make(map[int]int) i, ok = m[0] test(i, 0) test(ok, false) _, ok = m[0] test(ok, false) m[0] = 42 i, ok = m[0] test(i, 42) test(ok, true) _, ok = m[0] test(ok, true) // Type assertions. var u interface{} i, ok = u.(int) test(i, 0) test(ok, false) ip, ok = u.(*int) test(ip, (*int)(nil)) test(ok, false) _, ok = u.(int) test(ok, false) u = 42 i, ok = u.(int) test(i, 42) test(ok, true) _, ok = u.(int) test(ok, true) u = &i ip, ok = u.(*int) test(ip, &i) test(ok, true) _, ok = u.(*int) test(ok, true) }