Golang面试题一(基础)

目录

1.与其他语言相比,使用 Go 有什么优势?

1. 高效的并发模型CSP

2. 简洁的语法与清晰的编程模型

3. 快速编译与高性能执行

4. 内置的垃圾回收机制

5. 丰富的标准库与活跃的社区

6. 跨平台支持与良好可移植性

7. 易于部署与版本管理

8. 强大的错误处理机制

9. 泛型支持(Go 1.18+)

2.什么是CSP理论

3.Go的基本结构

4.Golang的数据类型

基本数据类型

整数类型

无符号整数类型

浮点数类型

复数类型

布尔类型

字符串类型

派生数据类型

数组类型

切片类型

结构体类型

指针类型

函数类型

接口类型

地图类型

通道类型

引用类型

指针(Pointer)

切片(Slice)

映射(Map)

通道(Chan)

接口(Interface)

其他相关类型

5.Go 程序中的包是什么

6.Go支持什么形式的类型转换?将整数转换为浮点数 

显式类型转换

隐式类型转换(类型提升)

整数转换为浮点数

7.Printf(), Sprintf(), FprintF() 都是格式化输出,有什么不同?

8.go语言中,函数(function)和方法(method)的主要区别

9.defer 关键字的实现原理? defer 的作用和特点是什么?

定义

实现原理

作用和特点

面试题

10.Go 语言当中是值传递还是引用传递?两者有什么区别

11.go语言中,值接收者和指针接收者的区别

12.Go语言中,返回局部变量的指针是否安全

13.Go 语言当中 new和make 的作用是什么?

12.什么是 Goroutine?你如何停止它?

1.什么是 Goroutine

2.如何停止 Goroutine?

使用 Channel 信号:

使用 Context:

使用WaitGroup

共享状态变量与 Mutex/RWMutex

13.如何在运行时检查变量类型

1.类型断言

2.反射包 (reflect)

3.类型开关 (switch)

14.Go 语言中 cap 函数可以作用于哪些内容?

1. 切片(Slice)

2. 通道(Chan)


1.与其他语言相比,使用 Go 有什么优势?

1. 高效的并发模型CSP

Go 语言内置了对并发编程的强大支持,通过 Goroutines(轻量级线程)和 Channels(用于通信的同步原语)实现了基于 CSP(Communicating Sequential Processes)模型的并发编程。

Go 的 Goroutines 轻量且高效,系统能够轻松创建和调度大量并发任务,而 Channels 提供了安全的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值