首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨
Go 编程语言

Go 编程语言

288 帖子 8 成员
创建于 2025-03-22 组长:凯特网
Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

  • 基于堆栈式的程序执行模型决定了函数是语言的一个核心元素,分析Go语言函数的底层实现,对理解整个程序的执行过程有很大的帮助,研究底层实现有两种办法,一种是看语言编译器源码,分析其对函数的各个特性的处理逻...
    宁儿 发表于 190 天前
    0
    49
  • 当在进行大量的计算时,提升性能最直接有效的一种方式就是避免重复计算,通过在内存中缓存来避免重复执行相同计算的方式称之为内存缓存,最明显的例子就是生成斐波那契数列的程序,普通的实现方法如下所示:pack...
    宁儿 发表于 190 天前
    0
    72
  • 计算Go语言函数的运行时间是非常有用的性能衡量指标,特别是在对比和基准测试中,最简单的办法就是在函数执行之前设置一个起始时间,并在函数运行结束时获取从起始时间到现在所经过的时间间隔,就可以得出函数运行...
    宁儿 发表于 190 天前
    0
    42
  • Recover 是一个Go语言的内建函数,可以让进入宕机流程中的 goroutine 恢复过来,recover 仅在延迟函数 defer 中有效,在正常的执行过程中,调用 recover 会返回 ni...
    宁儿 发表于 190 天前
    0
    60
  • Go语言的类型系统会在编译时捕获很多错误,但有些错误只能在运行时检查,如数组访问越界、空指针引用等,这些运行时错误会引起宕机。宕机不是一件很好的事情,可能造成体验停止、服务中断,就像没有人希望在取钱时...
    宁儿 发表于 190 天前
    0
    76
  • Go语言的错误处理思想及设计包含以下特征:一个可能造成错误的函数,需要返回值中返回一个错误接口(error),如果调用是成功的,错误接口将返回 nil,否则返回错误。在函数调用后需要检查错误,如果发生...
    宁儿 发表于 190 天前
    0
    46
  • 当一个函数在其函数体内调用自身时,则称之为递归,递归函数对于解决数学上的问题是非常有用的,比如计算阶乘,生成斐波那契数列等。构成递归需具备的条件:子问题须与原始问题为同样的事,且更为简单。不能无限制地...
    宁儿 发表于 190 天前
    0
    50
  • Go语言的 defer 语句会将其后面跟随的语句进行延迟处理,在 defer 归属的函数即将返回时,将延迟处理的语句按 defer 的逆序进行执行,也就是说,先被 defer 的语句最后被执行,最后被...
    宁儿 发表于 190 天前
    0
    78
  • 在C语言时代大家一般都用过 printf() 函数,从那个时候开始其实已经在感受可变参数的魅力和价值,如同C语言中的 printf() 函数,Go语言标准库中的 fmt.Println() 等函数的实...
    宁儿 发表于 190 天前
    0
    48
  • Go语言中闭包是引用了自由变量的函数,被引用的自由变量和函数一同存在,即使已经离开了自由变量的环境也不会被释放或者删除,在闭包中可以继续使用这个自由变量,因此,简单的说:函数 + 引用环境 闭包同一...
    宁儿 发表于 190 天前
    0
    88
  • 函数和其他类型一样都属于“一等公民”,其他类型能够实现接口,函数也可以,本节将对结构体与函数实现接口的过程进行对比。首先给出本节完整的代码:package main import ( "fm...
    宁儿 发表于 190 天前
    0
    55
  • Go语言支持匿名函数,即在需要使用函数时再定义函数,匿名函数没有函数名只有函数体,函数可以作为一种类型被赋值给函数类型的变量,匿名函数也往往以变量方式传递,这与C语言的回调函数比较类似,不同的是,Go...
    宁儿 发表于 190 天前
    0
    58
  • 使用 SQL 语言从数据库中获取数据时,可以对原始数据进行排序(sort by)、分组(group by)和去重(distinct)等操作,SQL 将数据的操作与遍历过程作为两个部分进行隔离,这样操作...
    宁儿 发表于 190 天前
    0
    104
  • 在Go语言中,函数也是一种类型,可以和其他类型一样保存在变量中,下面的代码定义了一个函数变量 f,并将一个函数名为 fire() 的函数赋给函数变量 f,这样调用函数变量 f 时,实际调用的就是 fi...
    宁儿 发表于 190 天前
    0
    44
  • Go语言中传入与返回参数在调用和返回时都使用值传递,这里需要注意的是指针、切片和 map 等引用型对象在参数传递中不会发生复制,而是将指针进行复制,类似于创建一次引用。下面通过一个例子来详细了解Go语...
    宁儿 发表于 190 天前
    0
    60
  • 在本例中,使用一个数值表示时间中的“秒”值,然后使用 resolveTime() 函数将传入的秒数转换为天、小时和分钟等时间单位。【示例】将秒解析为时间单位:package main import &...
    宁儿 发表于 190 天前
    0
    120
  • 函数构成了代码执行的逻辑结构,在Go语言中,函数的基本组成为:关键字 func、函数名、参数列表、返回值、函数体和返回语句,每一个程序都包含很多的函数,函数是基本的代码块。因为Go语言是编译型语言,所...
    宁儿 发表于 190 天前
    0
    39
  • 冒泡排序算法(bubble sort)是一种很简单的交换排序,每轮都从第一个元素开始,依次将较大值向后交换一位,直至整个队列排序完成。示例代码如下所示:package main import ( &q...
    宁儿 发表于 190 天前
    0
    63
  • 二分查找是 logN 级别的查找算法,前提是有序序列并且存储在顺序表中,如果存储方式是链表则不能使用。二分查找的核心思想理解起来非常简单,有点类似分治思想,即每次都通过跟区间中的中间元素对比,将待查找...
    宁儿 发表于 190 天前
    0
    93
  • 本节将通过实例为大家演示如何将字符串按照等级(缩进级别)进行排序,完整代码如下所示。package main import ( "fmt" "sort" &qu...
    宁儿 发表于 190 天前
    0
    43
  • 从数据挖掘到语言学习本身,文本分析功能的应用非常广泛,这一节我们来分析一个例子,它是文本分析最基本的一种形式:统计出一个文件里单词出现的频率。示例中频率统计后的结果可以以两种不同的方式显示,一种是将单...
    宁儿 发表于 190 天前
    0
    54
  • 结合咱们之前的学习,本节带领大家来编写一个聊天机器人的雏形,下面的代码中展示了一个简单的聊天程序。package main import ( "bufio" "fmt&q...
    宁儿 发表于 190 天前
    0
    71
  • Go语言中 continue 语句可以结束当前循环,开始下一次的循环迭代过程,仅限在 for 循环内使用,在 continue 语句后添加标签时,表示开始标签对应的循环,例如:package main...
    宁儿 发表于 190 天前
    0
    43
  • Go语言中 break 语句可以结束 for、switch 和 select 的代码块,另外 break 语句还可以在语句后面添加标签,表示退出某个标签对应的代码块,标签要求必须定义在对应的 for、...
    宁儿 发表于 190 天前
    0
    42
  • Go语言中 goto 语句通过标签进行代码间的无条件跳转,同时 goto 语句在快速跳出循环、避免重复退出上也有一定的帮助,使用 goto 语句能简化一些代码的实现过程。使用 goto 退出多层循环下...
    宁儿 发表于 190 天前
    0
    94
  • Go语言的 switch 要比C语言的更加通用,表达式不需要为常量,甚至不需要为整数,case 按照从上到下的顺序进行求值,直到找到匹配的项,如果 switch 没有表达式,则对 true 进行匹配,...
    宁儿 发表于 190 天前
    0
    42
  • for range 结构是Go语言特有的一种的迭代结构,在许多情况下都非常有用,for range 可以遍历数组、切片、字符串、map 及通道(channel),for range 语法上类似于其它语...
    宁儿 发表于 190 天前
    0
    75
  • 熟悉了Go语言的基本循环格式后,让我们用一个例子来温习一遍吧。输出九九乘法表:package main import "fmt" func main() { // 遍历, 决定处理...
    宁儿 发表于 190 天前
    0
    94
  • 与多数语言不同的是,Go语言中的循环语句只支持 for 关键字,而不支持 while 和 dowhile 结构,关键字 for 的基本使用方法与C语言和 C++ 中非常接近:sum : 0 for i...
    宁儿 发表于 190 天前
    0
    40
  • 在Go语言中,关键字 if 是用于测试某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行 if 后由大括号{}括起来的代码块,否则就忽略该代码块继续执行后续的代码。if condition {...
    宁儿 发表于 190 天前
    0
    33
站长交流