2024年09月02日
1. 【初级】下面属于关键字的是()A. funcB. defC. structD. class
参考答案:AC
2. 【初级】定义一个包内全局字符串变量,下面语法正确的是()A. var str stringB. str := ""C. str = ""D. var str = ""
2024年09月02日
什么是Context
Context通常被译作上下文,它是一个比较抽象的概念。一般理解为程序单元的一个运行状态、现场,上下上下则是存在上下层的传递,上会把内容传递给下。在Go语言中,程序单元也就指的是Goroutine。
每个Goroutine在执行之前,都要先知道程序当前的执行状态,通常将这些执行状态封装在一个Context变量中,传递给要执行的Goroutine中。上下文则几乎已经成为传递与请求同生存周期变量的标准方法。在网络编程下,当接收到一个网络请求Request,处理Request时,我们可能需要开启不同的Goroutine来获取数据与逻辑处理,即一个请求Request,会在多个Goroutine中处理。而这些Goroutine可能需要共享Request的一些信息;同时当Request被取消或者超时的时候,所有从这个Request创建的所有Goroutine也应该被结束。
2024年09月02日
执行系统命令是一个很重要的操作,直接调用系统命令,减少造轮子的时间。
golang执行命令的包:os/exec
cmdPath , err := exec.LookPath("ls") if err !=nil{ fmt.Println(err) } fmt.Println(cmdPath)
2024年09月02日
我们把一个复杂的任务,尤其是依赖多个微服务 rpc 需要聚合数据的任务,分解为依赖和并行,依赖的意思为: 需要上游 a 的数据才能访问下游 b 的数据进行组合。但是并行的意思为: 分解为多个小任务并行执行,最终等全部执行完毕。
2024年09月02日
每次学习并整理一个Golang的知识点,每天进步一点点。今天学习一个nil切片的知识点
1.下面代码的输出结果是?
2024年09月02日
Golang 是一门需要编译才能运行的编程语言,也就说代码在运行之前需要通过编译器生成二进制机器码,随后二进制文件才能在目标机器上运行,如果我们想要了解 Go 语言的实现原理,理解它的编译过程就是一个没有办法绕过的事情。
这一节会先对 Go 语言编译的过程进行概述,从顶层介绍编译器执行的几个步骤,随后的章节会分别剖析各个步骤完成的工作和实现原理,同时也会对一些需要预先掌握的知识进行介绍和准备,确保后面的章节能够被更好的理解。
2024年09月02日
先看C语言中的类似问题:空字符串。
const char* empty_str0 = "";
const char* empty_str1 = "\0empty";
const char* empty_str2 = NULL;