go--循环--函数作为参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 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定义的值类型和返回值类型一致  否则  用不了

猜你喜欢

转载自blog.csdn.net/enjoy_sun_moon/article/details/82766992