当前位置:网站首页>golang面试题
golang面试题
2022-08-02 18:53:00 【用户9710217】
1 new 和make 有什么区别
new 初始化T类型的零值,返回指针
make 初始T 类型, 返回T类型
2 变量类型不携带任何信息且是0 值。地址是否相同?
s := struct {}{}
d := [0]int{}
if unsafe.Pointer(&s) == unsafe.Pointer(&d) {
fmt.Println("same adress")
} else {
fmt.Println("not same adress")
}
result:same adress
3 变量逃逸
当变量(或者对象)在方法中分配后,其指针被返回或者被全局引用(这样就会被其他过程或者线程所引用),这种现象称作指针(或者引用)的逃逸(Escape)。
4 隐式赋值,下面的输出结果可能会是什么
func assginParameter() (ret int){
i := 0
ret = 0
for i < 3 {
go func() {
time.Sleep(1)
fmt.Println("get value %v", ret)
}()
i++
}
return 1
}
func TestInterface2(t *testing.T) {
assginParameter()
time.Sleep(3)
}
隐式赋值返回值 0 0 0 0 0 1 0 1 1 1 1 1
5 包级变量初始化循序
var a = b + c
var b = f()
var c = 1
func f() int {
return 100
}
func TestInterface2(t *testing.T) {
fmt.Println(a , b , c )
}
101 100 1 包级别的变量按照声明顺序初始化, 在依赖解析完毕的情况下 ,根据依赖的顺序进行。 包的初始按照导入的顺序进行。
5 变量作用域生命周期怎么区分
作用域:编译属性 生命周期 :运行期属性。
var a = 0
if true {
a,b := 1, 5
fmt.Print(a, b)
}
fmt.Print(a)
if true {
b := 0
a,b = 2, 5
fmt.Println(a, b)
}
fmt.Println(a)
0 1 5 0 2 5 2
考察 := 对外围重名赋值的覆盖问题。
6 字符串s , 则s[0] 表示什么
第一个字节? 第一个字符? 答案:第一个字符( 一个字符根据不同编码可能对应多个字节)
7 字符串内容永远不可变:
s := "12345"
s[0] = ‘0’ // 编译错误!!!
8 slice 是否可以做map的key 为什么
slice 不可以做slice 的key, slice 没有 “ == ” 操作
9 在go 中() 是面向对象编程方式的核心
A 组合 B 继承 答:A
9 go 语言的函数调用栈可达多少(其他语言 64K - 2MB)?
go 的函数调用栈可变长,最多可达 1GB 左右
边栏推荐
- 【C语言刷题】牛客JZ65——不用四则运算作加法
- AtomicInteger详解
- 请教下,1.0.0和1.0.2的底层数据库表结构有变化吗?
- Boyun Selected as Gartner China DevOps Representative Vendor
- 7.24 - 每日一题 - 408
- arcgis 分子式标注
- 微服务-gateway【服务网关入门】
- Unity 打包和切换平台|Build Settings窗口介绍
- [Dynamic Programming Special Training] Basics
- 3 and a half years of testing experience, I don't have 20K, it seems it's time to change jobs
猜你喜欢

栈、队列和数组

安装Mac版Mysql卡在Installation阶段,彻底清理mysql并重装mysql

研发了 5 年的时序数据库,到底要解决什么问题?

流量分析四—蓝牙

斯堪尼亚SCANIA OTL标签介绍

Boyun Selected as Gartner China DevOps Representative Vendor

geoserver+mysql+openlayers问题点

Detailed explanation of common examples of dynamic programming

Electronic Industry Inventory Management Pain Points and WMS Warehouse Management System Solutions

AI智能剪辑,仅需2秒一键提取精彩片段
随机推荐
E - Addition and Multiplication 2(贪心)
栈、队列和数组
监控易火星版即将亮相:分布式运维帮助TOP3000大企业跨越管理鸿沟
流量分析第二题
我靠这套笔记自学,拿下字节50万offer....
汇编实例解析--利用tcb,tss,全局tss,ldt管理任务实现任务切换
SQL Alias Aliases
流量分析三—远程登陆
MySQL主从搭建(问题大聚集,告别部署烦恼)
7.23 - 每日一题 - 408
流量分析四—蓝牙
「日志」深度学习 CUDA环境配置
Sentinel vs Hystrix 限流对比,到底怎么选?
7.25 - 每日一题 - 408
实例034:调用函数
洛谷P4799 世界冰球锦标赛
NIO's Selector execution process
面试官:谈谈如何防止消息丢失和消息重复
线性表(顺序表和链表)
动态生成不同类型的订单,请问如何存放到Mongodb数据库?