收藏此站 联系我们 网站
当前位置:首页» 技术日志 » 【建站服务】诸暨网站建设_企业网站制作公司_高端网站设计开发-诸暨上往-域名申请

【建站服务】诸暨网站建设_企业网站制作公司_高端网站设计开发-诸暨上往-域名申请

作者: 风兰 . 阅读量: 8 . 发表时间:2022-09-21 05:52:51

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


诸暨网站建设_企业网站制作公司_高端网站设计开发-诸暨上往

网站建设.png

ge mainimport (    "fmt")type HashMap struct {    key string    value string    hashCode int    next *HashMap}var table [16](*HashMap)func initTable() {    for i := range table{        table[i] = &HashMap{"","",i,nil}    }}func getInstance() [16](*HashMap){    if(table[0] == nil){        initTable()    }    return table}func genHashCode(k string) int{    if len(k) == 0{        return 0    }    var hashCode int = 0    var lastIndex int = len(k) - 1    for i := range k {        if i == lastIndex {            hashCode += int(k[i])            break        }        hashCode += (hashCode + int(k[i]))*31    }    return hashCode}func indexTable(hashCode int) int{    return hashCode%16}func indexNode(hashCode int) int {    return hashCode>>4}func put(k string, v string) string {    var hashCode = genHashCode(k)    var thisNode = HashMap{k,v,hashCode,nil}    var tableIndex = indexTable(hashCode)    var nodeIndex = indexNode(hashCode)    var headPtr [16](*HashMap) = getInstance()    var headNode = headPtr[tableIndex]    if (*headNode).key == "" {        *headNode = thisNode
        return ""    }    var lastNode *HashMap = headNode
    var nextNode *HashMap = (*headNode).next    for nextNode != nil && (indexNode((*nextNode).hashCode) < nodeIndex){        lastNode = nextNode
        nextNode = (*nextNode).next    }    if (*lastNode).hashCode == thisNode.hashCode {        var oldValue string = lastNode.value
        lastNode.value = thisNode.value
        return oldValue
    }    if lastNode.hashCode < thisNode.hashCode {        lastNode.next = &thisNode
    }    if nextNode != nil {        thisNode.next = nextNode
    }    return ""}func get(k string) string {    var hashCode = genHashCode(k)    var tableIndex = indexTable(hashCode)    var headPtr [16](*HashMap) = getInstance()    var node *HashMap = headPtr[tableIndex]    if (*node).key == k{        return (*node).value
    }    for (*node).next != nil {        if k == (*node).key {            return (*node).value
        }        node = (*node).next    }    return ""}


Go 语言递归函数

递归,就是在运行的过程中调用自己。


语法格式如下:


func recursion() {

   recursion() /* 函数调用自身 */

}


func main() {

   recursion()

}

Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。


递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。


阶乘

以下实例通过 Go 语言的递归函数实例阶乘:


实例

package main


import "fmt"


func Factorial(n uint64)(result uint64) {

    if (n > 0) {

        result = n * Factorial(n-1)

        return result

    }

    return 1

}


func main() {  

    var i int = 15

    fmt.Printf("%d 的阶乘是 %d ", i, Factorial(uint64(i)))

}

以上实例执行输出结果为:


15 的阶乘是 1307674368000

斐波那契数列

以下实例通过 Go 语言的递归函数实现斐波那契数列:


实例

package main


import "fmt"


func fibonacci(n int) int {

  if n < 2 {

   return n

  }

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

}


诸暨网站建设_企业网站制作公司_高端网站设计开发-诸暨上往


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务