go语言函数例题

// proctice3.2 project main.go算法

main


import (

    "fmt"

)


func main() {

    //Q10. (5) 变参 1. 编写函数接受整数类型变参,而且每行打印一个数字

printthem

printthem

fmtPrintln

    /*Q11. (5) 斐波那契1. 斐波那契数列以:1; 1; 2; 3; 5; 8; 13; : : :

     开始。或者用数学形式表达:x1 =1; x2 = 1; xn = xn􀀀1 + xn􀀀2 8n > 2。

    编写一个函数,接受int 值,并给出这个值获得的斐波那契数列。*/

_termfibonacci

fmtPrintfterm

    }

fmtPrintln

    /*Q12. (4) Map function map() 函数是一个接受一个函数和一个列表做为参数的函数。函数

    应用于列表中的每一个元素,而一个新的包含有计算结果的列表被返回。所以:

    map(f(); (a1; a2; : : : ; an􀀀1; an)) = (f(a1); f(a2); : : : ; f(an􀀀1); f(an))

            1. 编写Go 中的简单的map() 函数。它能工做于操做整数的函数就能够了。

            2. 扩展代码使其工做于字符串列表。*/


m

fi

ii

    }

fmtPrintfMapfm

fmtPrintln

    /*Q13. (3) 最小值和最大值

    1. 编写一个函数,计算int slice ([]int) 中的最大值。

    2. 编写一个函数,计算int slice ([]int) 中的最小值。*/

x

fmtPrintfmaxx

fmtPrintfminx

    /*Q14. (5) 冒泡排序 1. 编写一个针对int 类型的slice 冒泡排序的函数。冒泡排序并非最有效率的,对于n 个元素它的算法复杂度是O(n2)。快速排

      序[27] 是更好的排序算法。*/

n

fmtPrintfn

bubblesortn

fmtPrintfn

    /*Q15. (6) 函数返回一个函数

    1. 编写一个函数返回另外一个函数,返回的函数的做用是对一个整数+2。函数的名称叫

        作plusTwo。而后能够像下面这样使用:

        p := plusTwo()

        fmt.Printf("%v\n", p(2))

        应该打印4。参阅第36 页的第回调节了解更多关于这个的内容。

    2. 使1 中的函数更加通用化,建立一个plusX(x) 函数,返回一个函数用于对整数加

    上x。*/

p1plusTwo


fmtPrintfp1

    //使用闭包

p2

p3plusXp2

fmtPrintfp3

}

numbers

_dnumbers

fmtPrintfd

    }

}

value

xvalue

xx

nnvaluen

xnxnxn

    }

x

}

fl

jl

kvl

jkfv

    }

j

}

lmax

maxl

_vl

vmax

maxv

        }

    }

    return

}

lmin

minl

_vl

vmin

minv

        }

    }

    return

}

n

iini

jijnj

njni

ninjnjni

            }

        }

    }

}


func plusTwo() func(int) int {

xx

}

X

x

yxy

}
相关文章
相关标签/搜索