func (person *Person) Move(address string) string {
person.Address, address = address, person.Address
return address
}
person.Address, address = address, person.Address
return address
}
2017-04-10
package main
import (
"fmt"
"math/rand"
)
func main() {
ia := []interface{}{byte(6), 'a', uint(10), int32(-4)}
switch v := ia[rand.Intn(4)]; interface{}(v).(type) {
case int32 :
fmt.Printf("Case A.")
case byte :
fmt.Printf("Case B.")
default:
fmt.Println("Unknown!")
}
}
import (
"fmt"
"math/rand"
)
func main() {
ia := []interface{}{byte(6), 'a', uint(10), int32(-4)}
switch v := ia[rand.Intn(4)]; interface{}(v).(type) {
case int32 :
fmt.Printf("Case A.")
case byte :
fmt.Printf("Case B.")
default:
fmt.Println("Unknown!")
}
}
2017-04-06
创建管道时,使用 make(chan int,0)时,在第一个go命令执行时,调用协成,切因为管道为阻塞管道,在有接受命令式,发送命令都是阻塞的,所以第一个协程阻塞。第二个协程执行后,有发送命令执行。协程一中管道在接收到内容后,协程取消阻塞,继续执行。
2017-04-02