Learn Golang in Days - Day 13

栏目: Go · 发布时间: 7年前

Learn Golang in Days - Day 13

简介

  • 递归
  • 递归,就是自己调用自己
  • Go语言支持递归
  • 类型转换

递归的应用

package main

import "fmt"

func Factorial(n uint64)(result uint64) {
    if(n > 0) {
        result = n * Factorial(n-1)
    }
    
    return 1
}

func main() {
    var i int =15
    fmt.Printf("%d 的阶乘是 %d\n", i, Factorial(uint64(i)))
}

斐波那契数列

  • 通过 Go 语言的递归函数实现斐波那契数列
package main

import "fmt"

func fibonacci(n int) int {
    if n < 2 {
        return n
    }

    return fibonacci(n-2) + fibonacci(n-1)
}

func main() {
    var i int
    for i = 0; i < 10; i++ {
        fmt.Printf("%d\t", fibonacci(i))
    }
}

类型转换

  • 类型转换
package main

import "fmt"

func main() {
    var sum int = 18
    var count int = 5
    var mean float32

    mean = float32(sum) / float32(count)

    fmt.Printf("%f / %d = %f", float32(sum), count, mean)
}

以上所述就是小编给大家介绍的《Learn Golang in Days - Day 13》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

白话区块链

白话区块链

蒋勇 / 文延、嘉文 / 机械工业出版社 / 2017-10-1 / 59.00

由浅入深:从比特币开始,到区块链技术的骨骼(密码算法)和灵魂(共识算法),再到目前知名的区块链框架介绍,到最后从零构建一个微型区块链系统(微链),循序渐进。 多图多表:各种示例以及图表,通过流程图与示意图介绍比特币的源码编译、以太坊智能合约的开发部署、超级账本Fabric的配置使用、模拟比特币的微型区块链系统的设计实现等,形象而直观。 白话通俗:通过“村民账本记账”、“百花村选举记账”......一起来看看 《白话区块链》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具