package main
import "fmt"
// 声明一个函数类型
type cb func(int) int
func main() {
testCallBack(1, callBack)
testCallBack(2, func(x int) int {
fmt.Printf("我是回调,x:%d\n", x)
return x
})
}
func testCallBack(x int, f cb) {
f(x)
}
func callBack(x int) int {
fmt.Printf("我是回调,x:%d\n", x)
return x
}
2192go-nested-loops
九九乘法表:
package main
import "fmt"
func main() {
for m := 1; m < 10; m++ {
/* fmt.Printf("第%d次:\n",m) */
for n := 1; n <= m; n++ {
fmt.Printf("%dx%d=%d ",n,m,m*n)
}
fmt.Println("")
}
}
package main
import "fmt"
func Chann(ch chan int){
var i int
i = 10
ch <- i
}
func main(){
ch := make(chan int)
c := 0
go Chann(ch)
select{
case c = <- ch:
fmt.Println("Recvice", c)
fmt.Println("channel")
case s := <-ch:
fmt.Println("Receive", s)
//default:
//fmt.Println("Error")
}
}
2195go-function-closures
闭包带参数补充:
2194go-function-closures
带参数的闭包函数调用:
2193go-function-as-values
函数作为参数传递,实现回调。
2192go-nested-loops
九九乘法表:
2191go-select-statement
以下实例中有两个 case,每执行一次,会随机进入其中一个 case,结论是 select 会循环检测条件,如果有满足则执行并退出,否则一直循环检测。