版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/enjoy_sun_moon/article/details/82766992
两种循环体
func printPrimeNumber2(){
fmt.Println("\n输出1-100的素数--goto实现")
num := 0; //for循环的初始条件
loop:
for num<100 { //for循环的截止条件
num++; //for循环的增长规律
if(num%i == 0){
goto loop //符合条件则从上面的loop处开始执行循环
}
fmt.Println("%d\t",num)
}
}
func printPrimeNumber3(){
sum :=0
for num :=1;num<101;num++ {
sum+=num
}
fmt.Println(sum)
}
goto LOOP
第一种:
func test (f func(int) int) bool {
f是test函数的形参 f的类型是函数类型:那这个f的值类型是int f的返回值类型是int
}
第二种:
type myfunc func(int) int
func isodd (num int) int { }
func iseven (num int) int { }
func test (arr []int , f myfunc) int bool {
用type 去定义一个函数类型 再去引用 灵活 多用 值的类型和 返回值的类型必须要一致
}
用test去调用isodd 和 iseven
test({1,32,34,4,5},isodd)
总结:type myfunc 是核心 在test定义传入的函数类型 而isodd和iseven的值类型和返回值类型必须和myfunc定义的值类型和返回值类型一致 否则 用不了