
【Go 服务端开发】
文章平均质量分 54
嘿,你听说过吗?《Go语言服务端开发:从小白到大神》专栏即将上线!只需19.9元,就能领略Go语言的神奇之处!从零基础开始,我们将带你领略Go语言的魅力,让你成为服务端开发的顶尖大神!别再犹豫了,加入我们,一起来体验Go语言的乐趣吧!
嵌入式职场
在Matlab、Python、C/C++和Go等多种编程语言方面都有丰富的经验,专注于智能优化算法、工业人机交互界面设计、物联网、服务端开发等众多领域。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Go】设计一个定时器
是一个只接收的通道类型,表示这个通道只能接收数据,不能发送数据。这种通道通常用来接收定时器、计时器等生成的时间值。用于从该通道中接收时间值,并打印出来。返回的通道是无限的且不会关闭,所以。循环会一直执行,直到程序被终止。原创 2024-09-06 14:58:23 · 224 阅读 · 0 评论 -
【Go】将两个 float 类型的值通过逗号拼接成一个 string
如果希望有不同的格式,你可以根据需要调整格式化的精度,例如。提供了许多选项来控制输出格式。原创 2024-08-23 09:38:47 · 309 阅读 · 0 评论 -
【Go】要获取当前工作目录的上一级目录
函数,它会返回指定路径的父目录。以下是一个示例代码,展示如何使用。要获取当前工作目录的上一级目录,可以使用。原创 2024-08-20 10:12:20 · 407 阅读 · 0 评论 -
【Go】计算切片的中位数
首先,将切片中的元素按照大小进行排序。Go语言中可以使用sort包来进行排序。sort下面是一个示例代码,演示如何计算一个float64。原创 2024-08-17 15:06:06 · 302 阅读 · 0 评论 -
【Go】提取 uint16 数据的高4位和低12位
数据的高4位和低12位,可以使用位运算。在Go语言中,要提取。原创 2024-08-15 09:53:45 · 202 阅读 · 0 评论 -
【Go】计算切片的中位数
首先,将切片中的元素按照大小进行排序。Go语言中可以使用sort包来进行排序。sort下面是一个示例代码,演示如何计算一个float64。原创 2024-08-08 15:42:29 · 429 阅读 · 0 评论 -
【Go】将切片 a 的所有元素追加到切片 b 的末尾
在Go语言中,三个点...(省略号)在不同的上下文中有不同的意义。在append函数中,...的作用是将切片a解包成单独的元素,然后将这些元素逐个追加到切片b的末尾。具体来说,append这里的a...表示将切片a中的所有元素逐个解包,并将每个元素追加到切片b的末尾。这种语法允许将一个切片的所有元素追加到另一个切片中,而不需要使用循环或者手动追加每个元素。原创 2024-08-08 13:47:42 · 449 阅读 · 0 评论 -
【Go】解决 or new line expected,got ‘=‘ :5
在你的示例中,结构体字段没有进行访问,而是在结构体定义中进行了赋值。这不符合 Go 语言的结构体字段定义和初始化规范。如果要给结构体字段指定默认值,可以在实例化结构体时进行初始化,而不是在结构体定义中。这样的设计符合 Go 语言的结构体使用规范,可以正确运行和输出预期结果。原创 2024-08-08 09:10:22 · 222 阅读 · 0 评论 -
【Go】cannot use any (variable of type interface{}) as int value in variable declaration: need type as
并不能直接作为其他具体类型的值使用,因为它本身不是具体的类型,而是一种容器。如果你想将空接口类型中的值转换为具体类型,你需要使用类型断言(type assertion)来获取其中的值。可以容纳任何类型的值,但要从中获取具体类型的值,则需要使用类型断言。,那么断言操作会返回其对应的值;如果不是,将会导致运行时错误。在 Go 中,空接口类型。原创 2024-07-22 14:06:44 · 468 阅读 · 0 评论 -
【Go】strconv包
strconv(string conversion)是Go语言标准库中的一个包,提供了基本数据类型与其对应字符串表示之间的转换功能。它主要用于在不同数据类型之间进行转换,并提供了一些处理字符串的函数。让我们看看strconv。原创 2024-07-22 11:37:18 · 449 阅读 · 0 评论 -
【Go】sync.WaitGroup 来等待所有 goroutine 完成后再结束程序
函数在并发执行后,主程序才会退出,而不会提前退出导致 goroutine 没有机会执行完毕。循环中,你启动了 10 个 goroutine,每个 goroutine 执行。来阻塞主 goroutine,直到所有的 goroutine 都调用了。,即都执行完毕,才会继续执行主程序的后续操作,这里是结束程序。新增一个等待的 goroutine。完成一个 goroutine。来在函数执行完毕时通知。这种方式确保了所有的。原创 2024-07-18 14:58:58 · 368 阅读 · 0 评论 -
【GO】HTTP服务端与客户端
【GO】HTTP服务端与客户端。原创 2024-07-17 16:04:31 · 210 阅读 · 0 评论 -
【Go问题】解决proxyconnect tcp: dial tcp [::1]:80: connectex: No connection could be made because the
proxyconnect tcp: dial tcp [::1]:80: connectex: No connection could be made becaus e the target machine actively refused it.即可解决!!!原创 2024-07-17 16:02:17 · 1089 阅读 · 0 评论 -
【Go】实现UDP服务端与客户端
【Go】实现UDP服务端与客户端。原创 2024-07-17 13:52:52 · 379 阅读 · 0 评论 -
【Go】实现TCP服务端与客户端
【Go】实现TCP服务端与客户端。原创 2024-07-17 11:21:51 · 289 阅读 · 0 评论 -
【Go】在ubuntu上构建arm64可执行程序
【Go】在ubuntu上构建arm64可执行程序。原创 2024-07-10 10:45:48 · 463 阅读 · 0 评论 -
【Go】var-declaration should drop = nil from declaration of var engineApp; it is the zero value
包含在声明中,因为这是默认的零值。在 Go 语言中,当你声明一个变量但不显式初始化时,它会被赋予其类型的零值。对于指针类型,零值是。正确的做法是简单地声明变量,而不需要显式指定为。分配具体的值,但初始声明不需要包含。如果需要,你可以在后续的代码中为。写在声明语句中是多余的。错误信息提示你在声明。原创 2024-07-09 14:55:19 · 342 阅读 · 0 评论 -
【Go总结篇】全面学习Go语言:从零开始到深度掌握的完整指南
Go语言内置了轻量级的协程(goroutine),使并发编程变得简单而高效。: 通道是在不同协程之间进行通信和同步的关键机制,它们使得并发编程更加安全和清晰。: Go语言的并发模型使得编写高效、可伸缩的并发程序变得容易,有助于充分利用多核处理器的能力。: Go语言的标准库提供了丰富的并发相关工具和模式,如sync包、context包等,进一步简化了并发编程的实现。: Go语言的并发模型不仅限于IO密集型任务,还支持CPU密集型任务的并行化处理。原创 2024-07-05 09:33:07 · 693 阅读 · 0 评论 -
【Go】确保下一次的输入操作不会受到前一次输入操作的影响
来清除输入缓冲中的换行符。这样可以确保下一次的输入操作不会受到前一次输入操作的影响。来在每次输入操作后清除输入缓冲中的换行符。都会读取到用户正确的输入值,并且不会受到上一次输入的影响。实际上会读取到这个换行符,而不是用户的输入。)在输入缓冲中,而这个换行符可能会被后续的。这种情况下,第二次循环中的。在处理输入时可能会留下一个换行符(在这个修改后的版本中,我添加了。出现这个问题的原因是因为。为了解决这个问题,可以在。原创 2024-06-17 16:45:14 · 79 阅读 · 0 评论 -
【Go】根据用户输入的数字将相同数字打包在一起
总体而言,该程序实现了根据用户输入的数字将相同数字打包在一起,并在用户输入。时结束并打印最后一组打包的数字序列。原创 2024-06-17 11:32:49 · 93 阅读 · 0 评论 -
【Go】将相同序列的数据放在一起进行计算
【Go】将相同序列的数据放在一起进行计算。原创 2024-06-17 09:47:15 · 402 阅读 · 0 评论 -
【Go】第14篇 如何将数组转换为切片
在 Go 语言中,要将数组转换为切片,你可以利用切片的引用方式来获取数组的切片视图。将整个数组转换为切片。通过这个切片,我们可以执行数组上的各种切片操作。重要的是,切片是对原始数组的引用,所以对切片的修改会反映在数组上,反之亦然。在这个示例中,我们定义了一个名为。原创 2024-04-26 11:28:02 · 272 阅读 · 0 评论 -
【Go】第13篇 产生50个随机数范围在1到2.5之间,并存到切片中
获取当前时间的纳秒部分作为种子,然后使用。创建一个本地随机生成器,并使用该种子源。创建一个新的随机数种子源,最后使用。原创 2024-04-25 15:45:19 · 87 阅读 · 0 评论 -
【Go】第12篇 希望保证每次接收到数据时使用的是同一个结构体实例
如果你希望保证每次接收到数据时使用的是同一个结构体实例,而不是每次都创建一个新的实例,你可以将结构体实例声明为全局变量,或者使用单例模式来确保全局唯一性。,并在程序启动时初始化。这样,每次接收到消息时都会使用同一个全局的算法实例。结构体实例声明为全局变量。原创 2024-04-24 11:08:00 · 70 阅读 · 0 评论 -
【Go】第11篇 使用绝对路径或相对路径来指定文件的位置
函数获取当前工作目录。然后,你可以将相对路径与当前工作目录连接起来,以获得文件的完整路径。这段代码将会获取当前工作目录并在其基础上构建文件的完整路径,然后使用该路径读取文件的内容。在 Go 中,可以使用。原创 2024-04-15 10:55:46 · 381 阅读 · 0 评论 -
【Go】第10篇 两个整数相除时,希望得到浮点数结果
在 Go 中,当两个整数相除时,结果会根据操作数的类型而有所不同。如果操作数都是整数类型,那么除法运算的结果也将是整数类型。这意味着小数部分会被截断,只保留整数部分。如果你希望得到浮点数结果,至少有一个操作数必须是浮点数类型。中至少有一个操作数是浮点数类型,所以结果会保留小数部分。是两个整数相除的结果,因此结果会被截断为整数。原创 2024-04-11 10:21:12 · 204 阅读 · 0 评论 -
【Go】第9篇 将浮点数转换为字符串,并保留两位小数
要将浮点数转换为字符串,并保留两位小数,可以将格式设置为。然后,你可以将这个字符串转换为。原创 2024-04-10 14:21:10 · 267 阅读 · 0 评论 -
【Go】第8篇 实现将固定大小的二维数组传递给函数,函数内部对数组的修改将反映在函数外部
如果你要将固定大小的二维数组传递给函数,并且希望在函数内部修改其值,你可以传递数组的指针。这样,在函数内部对数组的修改将反映在函数外部。来访问传递进来的数组,并修改其值。最后,我们打印修改后的数组,你会看到外部的数组也已经被修改了。函数修改为接受指向二维数组的指针。在函数内部,我们使用。在这个示例中,我们将。原创 2024-04-10 11:18:45 · 227 阅读 · 0 评论 -
【Go】第7篇 传递一个切片给函数,实际上传递的是切片的引用
在 Go 语言中,切片(slice)是引用类型,当你传递一个切片给函数时,实际上传递的是切片的引用,而不是切片的副本。因此,如果在函数内部修改了切片的值,那么外部传递的切片也会受到影响。后,打印修改后的外部数组时,你会发现外部数组的值也被修改了。这说明切片的修改是原址进行的,因此外部的二维数组会受到影响。函数内部修改了传递进来的切片的值。在这个例子中,我们在。原创 2024-04-10 11:13:52 · 97 阅读 · 0 评论 -
【Go】第6篇 计算一个数的平方
函数来计算 5 的平方,并将结果打印出来。类型的参数,返回第一个参数的第二个参数次幂的值。函数来计算一个数的平方。在 Go 中,你可以使用。在这个示例中,我们使用了。原创 2024-04-10 09:38:13 · 285 阅读 · 0 评论 -
【Go】第5篇 使用自定义类型和常量值来模拟枚举
在 Go 语言中,虽然没有像其他语言(如 C#、Java、Python)中的枚举类型,但是可以通过一些方法实现类似的功能。常见的做法包括使用const和iota组合创建一组常量,或者使用自定义类型和常量值来模拟枚举。以下是使用const和iota// 定义一个枚举类型const (// 使用 iota 自增生成常量值MondayTuesdayWednesdayThursdayFridaySaturday// 使用枚举常量fmt.Println(Sunday) // 输出: 0。原创 2024-04-09 16:41:37 · 187 阅读 · 0 评论 -
【Go】第4篇 打印当前函数的名称
需要注意的是,这种方法获取的函数名称可能包含包路径信息。如果你只想获取函数名称而不包含包路径信息,你可以通过处理字符串来进行截取。在 Go 语言中,要打印当前函数的名称,你可以使用。函数来获取当前函数名,并将其打印出来。的函数来获取当前函数的名称。包来获取调用栈信息。原创 2024-04-09 15:40:13 · 304 阅读 · 0 评论 -
【Go】第3篇 使用 mat.NewDense 函数初始化一个零矩阵
函数的第三个参数是一个切片,用于设置矩阵的元素值。通过将该切片设置为长度为 0 的空切片,你可以创建一个零矩阵。创建了一个3x3的矩阵。函数初始化一个零矩阵。,并将第三个参数设置为。,表示创建一个零矩阵。原创 2024-04-07 15:29:33 · 105 阅读 · 0 评论 -
【Go】第2篇 gonum把矩阵打印出矩阵的形式输出
函数,它可以将矩阵格式化为字符串。打印格式化后的字符串,即矩阵形式的输出。来指定前缀和格式化选项。要以矩阵形式打印出矩阵,你可以使用。格式化为字符串,并使用。原创 2024-04-07 15:22:12 · 124 阅读 · 0 评论 -
【Go】第1篇 分析阻止应用程序退出方式 — 使用信号(signal)
通道,从而触发程序中相应的处理逻辑。这种方式通常用于实现优雅的退出机制,让程序能够在接收到特定信号时进行清理操作并正确退出。这段代码的作用是监听指定的操作系统信号,并在接收到信号时进行相应的处理,通常用于优雅地关闭服务或执行其他必要的清理工作。函数将指定的操作系统信号(SIGHUP、SIGINT、SIGTERM、SIGQUIT)发送到通道。中接收信号,该行代码会阻塞程序直到接收到信号。: 创建了一个用于接收操作系统信号的通道。当程序收到这些信号时,它会将信号发送到。原创 2024-04-03 16:26:12 · 267 阅读 · 0 评论 -
【Go】goland同一个页面打开了多个project
新的窗口。当前窗口。询问。原创 2023-10-31 15:26:11 · 1012 阅读 · 0 评论 -
【Go】详解go语言的string,并给出示例
总之,Go 语言中的字符串是一种不可变的数据类型,用于表示文本字符串。它具有丰富的操作和处理方法,方便进行字符串的拼接、截取、遍历和转换等操作。总之,Go 语言中的字符串是一种不可变的数据类型,用于表示文本字符串。需要注意的是,Go 中的字符串是不可变的,也就是说一旦创建,就不能直接修改其中的字符。需要注意的是,Go 中的字符串是不可变的,也就是说一旦创建,就不能直接修改其中的字符。字符串的索引和切片:可以使用索引访问字符串中的单个字符,索引从 0 开始。运算符将两个字符串连接起来,生成一个新的字符串。原创 2023-08-04 14:46:06 · 696 阅读 · 0 评论 -
【Go】go module
通过依赖管理,可以明确指定项目对每个依赖的版本要求,确保项目在构建和部署时使用相同的依赖版本。开发者只需通过依赖管理系统设置正确的依赖版本,即可自动下载和安装所需的依赖项。构建的一致性:使用依赖管理可以确保项目在不同环境下进行构建和运行时,使用的依赖项是一致的。团队协作:当多个人在一个项目上合作开发时,依赖管理系统能够帮助团队成员共享和同步项目的依赖关系,确保每个人在构建和运行时使用相同的依赖版本。Go 语言之所以需要依赖管理,是为了解决项目中使用的外部包或库的版本控制、依赖关系和构建的一致性问题。原创 2023-08-04 14:38:23 · 199 阅读 · 0 评论 -
【Go】Go语言中的反射(reflection)
Go语言中的反射(reflection)是指在运行时动态地对程序的类型进行检查、访问和操作的能力。通过反射,我们可以在不知道具体类型的情况下,获取类型的信息,调用其方法,修改其字段值等。方法修改字符串类型的值时,要求传入的参数必须是可寻址的,而不是一个无法获取地址的值。的一部分,而结构体字段默认是不可寻址的。对象的可寻址值,然后再进行字段修改操作。方法来获取字段的可寻址值,然后再调用。要解决这个问题,可以使用。在上述代码中,我们使用。原创 2023-08-04 14:27:09 · 238 阅读 · 0 评论 -
【Go】go序列化与go反序列化
需要注意的是,在Person结构体中添加了json元素标签,这些标签指定了每个成员在生成的JSON字符串中对应的名称。在Go语言中,可以使用标准库中的encoding/json包将JSON字符串反序列化为结构体。在Go语言中,可以使用标准库中的encoding/json包将结构体序列化为JSON字符串。如果要让JSON字符串更加美观,可以使用json.MarshalIndent()函数,它提供了类似于Python中的缩进功能。需要注意的是,序列化时可以使用json.Marshal()函数。原创 2023-08-04 14:11:28 · 266 阅读 · 0 评论