随着2010年代初云计算的兴起,这一转变掀起了浪潮。各大互联网巨头在技术战略层面,都试图把握此次潮流,举起了云计算的大旗。 随着云计算时代愈演愈烈,Go 语言的应用也越来越广泛,已然成为首选编程语言。而且,薪资也水涨船高,并且都是急聘。为啥呢?因为现在的人才少,看到趋势的人才少,这个赛道还没有十分拥挤,机会也在日益增多。那大厂的 Go 语言工程师要会哪些东西呢?大的点就是 Gorouti
转载
2024-01-12 17:55:25
82阅读
Go语言golang的接口原理,怎么用,接口的作用多线程的一些理解,进程线程协程数据库索引,哈希索引、B+树索引,哪些字段适合加索引new和make的区别golang哪些类型是值传递,哪些是引用传递,区别是什么,用的场景golang中都是采用值传递,即拷贝传递,也就是深拷贝。没有引用传递。之所有有些看起来像是引用传递的场景,是因为Golang中存在着引用类型,如slice、map、channel、
go面试题2020版
1、go的调度 2、go struct能不能比较因为是强类型语言,所以不同类型的结构不能作比较,但是同一类型的实例值是可以比较的,实例不可以比较,因为是指针类型 3、go defer(for defer),先进后出,后进先出func b() {
for i := 0; i < 4; i++ {
defer fmt.Print(i)
}
} 4、select可以用
转载
2023-10-23 21:35:10
116阅读
数据定义1.函数返回值问题:在函数有多个返回值时,只要有⼀个返回值有名 称,那么其他返回值也⼀定要有名称2.结构体的⽐较问题 :结构体⽐较规则之⼀: 只有相同的类型的结构体才可以⽐较(1 结构体的属性类型, 2 属性的顺序)结构体⽐较规则之⼆: 即使两个结构体的属性类型和顺序相同,但是⾥⾯存在不可⽐较类型,依然是不可以直接==⽐较的。 ⽐如 map,slice 可以参考⽤reflect.DeepE
转载
2023-09-19 19:57:09
80阅读
select是随机的还是顺序的?select会随机选择一个可用通道做收发操作Go语言局部变量分配在栈还是堆?Go语言编译器会自动决定把一个变量放在栈还是放在堆,编译器会做逃逸分析,当发现变量的作用域没有跑出函数范围,就可以在栈上,反之则必须分配在堆。go语言中的引用类型和值类型包含哪些?引用类型:组切片、字典(map)、通道(channel)、接口(interface)值类型:基本数据类型,int
转载
2024-01-13 12:48:25
99阅读
基础语法Go 支持默认参数或可选参数吗?不支持。但是可以利用结构体参数,或者…传入参数切片数组。// 这个函数可以传入任意数量的整型参数
func sum(nums ...int) {
total := 0
for _, num := range nums {
total += num
}
fmt.Println(total)
}Go 语言 tag
转载
2024-05-06 15:37:59
107阅读
基础语法= 和 := 的区别?指针的作用Go 允许多个返回值吗?Go 有异常类型吗?什么是协程(Gorout
转载
2021-07-12 17:17:26
636阅读
1、与其它语言相比,Go有何优点?与其它作为学术实验开始的语言不同,Go设计是务实的,各功能和语法决策旨在让程序开发更加轻松。Go针对并发进行优化,在规模上运行良好。由于单一的标准代码格式,Go通常比其它语言有更好的可读性。自动垃圾回收较Java、Python更有效,因为Go中垃圾回收与程序同时运行。2、Go使用的数据类型?Method(方法)。Boolean(布尔)。Numeric(数字)。St
# Go语言中的闭包:新手指南
闭包是 Go 语言中一个非常重要的概念,可以帮助我们更好地管理状态和封装逻辑。今天,我们将通过一个简单的面试题来了解并实现闭包的概念。本文将首先展示解决该问题的流程,然后逐步实现每个步骤,帮助小白理解闭包的作用。
## 问题描述
假设我们需要创建一个函数,它可以返回一个闭包,这个闭包将返回一个累加器,即每次调用时都会增加一个指定的数字。
## 实现步骤
下
文章目录1.请指出下面代码的错误?2.下面代码输出什么?3.下面代码输出什么?4.下面的代码有什么问题?5.下面代码输出什么?6.下面代码有几处错误的地方?请说明原因。 1.请指出下面代码的错误?package main
var gvar int
func main() {
var one int
two := 2
var three
转载
2024-08-07 09:30:55
420阅读
go 空结构体 可以三种使用场景:实现方法接收者。实现集合类型。实现空通插入
原创
2022-12-05 15:25:04
63阅读
????下面代码中的指针p为野指针,因为返回的栈内存在函数结束时会被释放,这一说法是否正确。 答案:说法错误 golang不存在野指针,它有自己的垃圾回收和逃逸分析。go语言的自动内存管理机制使得只要还有一个指针引用一个变量,那这个变量就会在内存中得以保留,因此在Go语言函数内部返回指向本地变量的指针是
原创
2021-07-09 15:06:02
760阅读
面试题连接 https://studygolang.com/articles/17796 go变量哪些是引用类型,哪些是值类型 指针:slice,map,chan,指针,interface 值类型:int,float,bool,string,array,struct golang中new和make的
转载
2021-11-26 11:51:03
416阅读
Q1 init() 函数是什么时候执行的?答案init()函数是 Go 程序初始化的一部分。Go 程序初始化先于 main 函数,由 runtime 初始化每个导入的包
转载
2022-04-29 09:47:52
10000+阅读
#Q1 = 和 := 的区别?答案::= 声明+赋值= 仅赋值var foo intfoo = 10// 等
原创
2021-07-12 17:16:04
427阅读
Q1 无缓冲的 channel 和 有缓冲的 channel 的区别?答案:对于无缓冲的 channel,发送方将阻塞该信道,直到接收方从该信道接收到数据为止,而接收方也将阻塞该信道
转载
2022-05-13 22:14:25
4500阅读
#0.1. Q1 init() 函数是什么时候执行的?答案:init() 函数是 Go 程序初始化的一部分。
原创
2021-07-12 16:30:40
525阅读
前言golang面经主要参考知乎大佬总结的面试题:://zhuanlan.zhihu./p/519979757 计算机网络参考: 本文主要对面试中问到的,但是面经中没有的题目进行补充。一、golang基础1、谈谈对gin框架的理解gin源码解析:://liwenzhou./posts/Go/gin-sourcecode/ 可以从这三个方面回答: 1、gin框
转载
2023-12-28 15:37:02
436阅读
1.go中的协程1.1 协程的定义在go语言中,协程被认为是轻量级的线程, 和线程不同的是,操作系统内核 感知不到协程的存在, 协程的管理依赖于Go语言运行时自身提供的调度器 同时Go语言中的协程是从属于某一个线程的。1.2协程的调度方式协程是用户态的。协程的管理依赖Go语言运行时的调度器。同时,Go语言中的协程是从属于某一个线程的,协程与线程的对应关系为M:N,即多对多 .如图所示, Go语言调
转载
2024-01-04 22:46:45
60阅读
面试题1. Kafka 如何保证消息的消费顺序?2. Kafka 如何保证消息不丢失2.1 生产者丢失消息的情况2.1.0 生产者弄丢消息场景2.1.1 不要使用 producer.send(msg),而要使用 producer.send(msg, callback)。2.1.2 参数(acks ,retries,retry.backoff.ms)2.1.42.2 Kafka 弄丢了消息2.2.
转载
2024-04-20 10:56:50
40阅读