当前位置: 首页 > news >正文

Go常见问题与回答(下)

文章目录

    • 1、通过指针变量 p 访问其成员变量 name,有哪几种方式?
    • 2、代码,说出结果
    • 3、扩容提,代码,说出结果
    • 4、指出下面这段代码的错误之处
    • 5、是否通过编译
    • 6、关于字符串连接,下面语法正确的是
    • 7、关于iota,下面代码输出什么?
    • 8、下面赋值正确的是
    • 9、关于channel,下面语法正确的是?
    • 10、下面代码输出什么?
    • 11、下面运行选择哪个
    • 12、下面代码输出什么
    • 13、下面代码输出什么?
    • 14、下列哪个类型可以使用 cap()函数?
    • 15、是否通过编译
    • 16、下面代码输出什么
    • 17、下面哪个类型可以使用cap()函数
    • 18、下面代码输出什么
    • 19、下面代码输出什么?
    • 20、下面代码输出什么
    • 21、定义一个全局字符串变量,下列正确的是?
    • 22、下面代码输出什么?
    • 23、下列代码输出什么
    • 24、下面代码输出什么?
    • 25、关于可变参数的函数调用正确的是?
    • 26、下列代码中下划线处可填入哪个变量会打印"yes nil"?
    • 28、下面代码输出什么?
    • 29、切片a,b,c的容量分别是多少?
    • 30、下面代码输出什么?
    • 31、函数 f1(),f2(),f3()分别返回什么?
    • 32、下面代码输出什么?
    • 33、下面的两个切片声明中有什么区别?哪个更可取?
    • 34、A,B,C,D那个有语法错误?
    • 35、下面代码输出什么?
    • 36、下面代码输出什么?
    • 37、下面代码输出什么?
    • 38、下面代码输出什么?
    • 39、下面代码是否可以编译通过?
    • 40、下面代码输出什么?
    • 41、下面代码输出什么?
    • 42、下面代码输出什么?
    • 43、下列代码是否可以编译通过?
    • 44、下面代码输出什么?
    • 45、下面代码输出什么?
    • 46、下面代码输出什么?
    • 47、下面代码输出什么?
    • 48、下面代码输出什么?
    • 49、下面代码输出什么?
    • 50、下面代码输出什么?
    • 51、关于协程,下列说法正确的有
    • 52、关于循环语句,下面说法正确的有?
    • 53、下面代码输出什么?
    • 54、关于switch语句,下面说法正确的有?
    • 55、下列Add函数定义正确的是?
    • 56、关于 bool 变量 b 的赋值,下面错误的用法是?
    • 57、关于变量的自增和自减操作,下面语句正确的是?
    • 58、关于GetPodAction定义,下面赋值正确的是
    • 59、关于整型切片的初始化,下面正确的是?
    • 60、下列代码是否会触发异常?
    • 61、关于channel的特性,下面说法正确的是?
    • 62、下列代码有什么问题
    • 63、下列代码输出什么?
    • 64、下列代码输出什么?
    • 65、关于无缓冲和有冲突的channel,下面说法正确的是?
    • 66、下面代码输出什么?
    • 67、关于select机制,下面说法正确的是?
    • 68、 下列代码有什么问题?
    • 69、下面代码输出什么?
    • 70、下面代码输出什么?
    • 71、下面代码输出什么?
    • 72、下列代码有什么问题?
    • 73、下列函数能否正确输出?
    • 74、下列代码是否正确?
    • 75、下列代码有什么问题?
    • 76、关于 channel 下面描述正确的是?
    • 77、下面代码输出什么?
    • 78、下列哪一行会panic?
    • 79、下列哪行代码会panic?
    • 80、下列代码有什么问题?
    • 81、下列代码输出什么?
    • 82、下列那行代码会panic?
    • 83、下面代码输出什么?
    • 84、下面代码输出什么?
    • 85、 关于字符串拼接,下列正确的是?
    • 86、下列代码有什么问题?
    • 87、下列代码有什么问题?
    • 88、 下列代码有什么问题?
    • 89、下列代码输出什么?
    • 90、下面代码输出什么?
    • 91、下列代码有什么问题?
    • 92、下列代码有什么问题?
    • 93、下面代码输出什么?
    • 94、下面代码输出什么?
    • 95、下面代码输出什么?
    • 96、下列代码是否可以编译通过?
    • 97、关于map,下面说法正确的是?
    • 98、关于同步锁,下面说法正确的是?
    • 99、Once使用有没有问题
    • 100、Waitgroup代码有什么问题
    • 101、Mutex代码有什么问题
    • 102、Pool代码有什么问题
    • 103、Channel1有什么问题
    • 104、Channel2有什么问题
    • 105、Map代码有什么问题
    • 106、Map 2
    • 107、Slice代码有什么问题
    • 108、以下代码有什么问题,说明原因。
    • 109、下面代码输出什么?并说明原因
    • 110、下面代码输出什么?
    • 111、下面代码会触发异常吗?请详细说明
    • 112、下面代码输出什么?
    • 113、请写出以下输入内容
    • 114、下面的代码有什么问题?
    • 115、下面的迭代会有什么问题?
    • 116、以下代码能编译过去吗?为什么?
    • 117、以下代码打印出来什么内容,说出为什么
    • 118、下面代码能运行吗?为什么。
    • 119、请说出下面代码存在什么问题。
    • 120、写出打印的结果。
    • 121、下面的代码是有问题的,请说明原因。
    • 122、请找出下面代码的问题所在。
    • 123、请说明下面代码书写是否正确。
    • 124、下面的程序运行后为什么会爆异常。
    • 125、请说出下面代码哪里写错了
    • 126、请说出下面代码,执行时为什么会报错
    • 127、请说出下面的代码存在什么问题?
    • 128、下面这段代码为什么会卡死?
    • 129、下面代码输出什么?
    • 130、 以下代码有什么问题,说明原因
    • 131、下面的代码会输出什么,并说明原因
    • 132、下面代码会输出什么?
    • 133、下面代码会触发异常吗?请详细说明
    • 134、下面代码输出什么?
    • 135、请写出以下输入内容
    • 136、下面的代码有什么问题?
    • 137、下面的迭代会有什么问题?
    • 138、以下代码能编译过去吗?为什么?
    • 139、以下代码打印出来什么内容,说出为什么。。。
    • 140、写出以下代码出现的问题
    • 141、写出以下打印内容
    • 142、找出下面代码的问题
    • 143、写出以下打印结果,并解释下为什么这么打印的。
    • 144、写出以下打印结果
    • 145、下面代码写法有什么问题?
    • 146、下面代码写法有什么问题?
    • 147、Mutex
    • 148、RWMutex
    • 149、Waitgroup
    • 150、双检查实现单例
    • 151、Mutex
    • 152、Pool
    • 153、channel
    • 154、channel
    • 155、 Map
    • 156、happens before
    • 157、sync.Map 的用法
  • 二、代码编写题
    • 1、交替打印数字字母
    • 2、判断字符串中字符是否全都不同
    • 3、字符替换问题
    • 4、在 golang 协程和channel配合使用
    • 5、实现阻塞读且并发安全的map
    • 6、高并发下的锁与map的读写
    • 7、写出以下逻辑,要求每秒钟调用一次proc并保证程序不退出?
    • 8、为 sync.WaitGroup 中Wait函数支持 WaitTimeout 功能.`
    • 9、多协程查询切片问题

1、通过指针变量 p 访问其成员变量 name,有哪几种方式?

在这里插入图片描述
B 选项

(&p).Name undefined (type **Person has no field or method Name)

D 本身不支持

2、代码,说出结果

在这里插入图片描述
内存地址不变,值会被覆盖,因此,

3、扩容提,代码,说出结果

在这里插入图片描述
make如果有输入值,则会先填充默认值

4、指出下面这段代码的错误之处

在这里插入图片描述
返回值命名

5、是否通过编译

在这里插入图片描述
不能,1、要指定长度,展开

6、关于字符串连接,下面语法正确的是

在这里插入图片描述
A,C错误,单引号是字符情况

7、关于iota,下面代码输出什么?

在这里插入图片描述
iota没指定,会占着一行

8、下面赋值正确的是

在这里插入图片描述
A 没有类型 ,c 不能让string为nil,可以使其变为""

9、关于channel,下面语法正确的是?

在这里插入图片描述
A 是可以的,但不能用,因为指的是nil,D 指的是数据填充,但右端没值,也不行

10、下面代码输出什么?

在这里插入图片描述
可变参数指针传递

11、下面运行选择哪个

在这里插入图片描述
invalid operation: a + b (mismatched types int and float64)

12、下面代码输出什么

在这里插入图片描述
len为1,cap也为1

13、下面代码输出什么?

在这里插入图片描述
长度不一致不能做相等,类型不一致也不能作比较

14、下列哪个类型可以使用 cap()函数?

在这里插入图片描述map是无效的参数

15、是否通过编译

在这里插入图片描述
无法再struct里比较map

16、下面代码输出什么

在这里插入图片描述
不能比较

17、下面哪个类型可以使用cap()函数

在这里插入图片描述
c不能

18、下面代码输出什么

在这里插入图片描述
nil,当且仅当接口的动态值和动态类型都为nil时,接口类型值才为nil

19、下面代码输出什么?

在这里插入图片描述
0,访问不存在的键值对返回的是0

20、下面代码输出什么

在这里插入图片描述
% +d 带符号,所以是A

21、定义一个全局字符串变量,下列正确的是?

在这里插入图片描述
B,C 不行

22、下面代码输出什么?

在这里插入图片描述
defer预确定值

23、下列代码输出什么

在这里插入图片描述
编译错误

24、下面代码输出什么?

在这里插入图片描述
传指针改变值

25、关于可变参数的函数调用正确的是?

在这里插入图片描述
C 没有解包

26、下列代码中下划线处可填入哪个变量会打印"yes nil"?

在这里插入图片描述
A 毫无疑问

28、下面代码输出什么?

在这里插入图片描述
A 字符

29、切片a,b,c的容量分别是多少?

在这里插入图片描述
3,3,2 细节很简单

30、下面代码输出什么?

在这里插入图片描述
简单的题目

31、函数 f1(),f2(),f3()分别返回什么?

在这里插入图片描述
f1() 返回 1,因为在 defer 中修改了返回值 r。
f2() 返回 5,因为 t 的变化没有影响返回值 r。
f3() 返回 1,因为 defer 中的 r 修改没有影响外部的返回值 r。

32、下面代码输出什么?

在这里插入图片描述
2 传入的是地址,main还是会影响到2处的修改

33、下面的两个切片声明中有什么区别?哪个更可取?

在这里插入图片描述
A 为nil,B为空切片,A不会分配内存

34、A,B,C,D那个有语法错误?

在这里插入图片描述

不要使用一个指针指向一个,因为接口本身已经是一个指针

35、下面代码输出什么?

在这里插入图片描述
简单的,直接跳过就行了

36、下面代码输出什么?

在这里插入图片描述
if 与else if 都会被执行,因为两个都为false

37、下面代码输出什么?

在这里插入图片描述

需要动点脑子,差不多就是这样子的

38、下面代码输出什么?

在这里插入图片描述
map输出无需

39、下面代码是否可以编译通过?

在这里插入图片描述
指针实现,不能用值类型

40、下面代码输出什么?

在这里插入图片描述
计数用的

41、下面代码输出什么?

在这里插入图片描述

42、下面代码输出什么?

在这里插入图片描述

43、下列代码是否可以编译通过?

在这里插入图片描述

44、下面代码输出什么?

在这里插入图片描述

45、下面代码输出什么?

在这里插入图片描述

46、下面代码输出什么?

在这里插入图片描述

47、下面代码输出什么?

在这里插入图片描述

48、下面代码输出什么?

在这里插入图片描述

49、下面代码输出什么?

在这里插入图片描述

50、下面代码输出什么?

在这里插入图片描述

51、关于协程,下列说法正确的有

在这里插入图片描述

52、关于循环语句,下面说法正确的有?

在这里插入图片描述

53、下面代码输出什么?

在这里插入图片描述

54、关于switch语句,下面说法正确的有?

在这里插入图片描述

55、下列Add函数定义正确的是?

在这里插入图片描述

56、关于 bool 变量 b 的赋值,下面错误的用法是?

在这里插入图片描述

57、关于变量的自增和自减操作,下面语句正确的是?

在这里插入图片描述

58、关于GetPodAction定义,下面赋值正确的是

在这里插入图片描述

59、关于整型切片的初始化,下面正确的是?

在这里插入图片描述

60、下列代码是否会触发异常?

在这里插入图片描述

61、关于channel的特性,下面说法正确的是?

在这里插入图片描述

62、下列代码有什么问题

在这里插入图片描述

63、下列代码输出什么?

在这里插入图片描述

64、下列代码输出什么?

在这里插入图片描述

65、关于无缓冲和有冲突的channel,下面说法正确的是?

在这里插入图片描述

66、下面代码输出什么?

在这里插入图片描述

67、关于select机制,下面说法正确的是?

在这里插入图片描述

68、 下列代码有什么问题?

在这里插入图片描述

69、下面代码输出什么?

在这里插入图片描述

70、下面代码输出什么?

在这里插入图片描述

71、下面代码输出什么?

在这里插入图片描述

72、下列代码有什么问题?

在这里插入图片描述

73、下列函数能否正确输出?

在这里插入图片描述

74、下列代码是否正确?

在这里插入图片描述

75、下列代码有什么问题?

在这里插入图片描述

76、关于 channel 下面描述正确的是?

在这里插入图片描述

77、下面代码输出什么?

在这里插入图片描述

78、下列哪一行会panic?

在这里插入图片描述

79、下列哪行代码会panic?

在这里插入图片描述

80、下列代码有什么问题?

在这里插入图片描述

81、下列代码输出什么?

在这里插入图片描述

82、下列那行代码会panic?

在这里插入图片描述

83、下面代码输出什么?

在这里插入图片描述

84、下面代码输出什么?

在这里插入图片描述

85、 关于字符串拼接,下列正确的是?

在这里插入图片描述

86、下列代码有什么问题?

在这里插入图片描述

87、下列代码有什么问题?

在这里插入图片描述

88、 下列代码有什么问题?

在这里插入图片描述

89、下列代码输出什么?

在这里插入图片描述

90、下面代码输出什么?

在这里插入图片描述

91、下列代码有什么问题?

在这里插入图片描述

92、下列代码有什么问题?

在这里插入图片描述

93、下面代码输出什么?

在这里插入图片描述

94、下面代码输出什么?

在这里插入图片描述

95、下面代码输出什么?

在这里插入图片描述

96、下列代码是否可以编译通过?

在这里插入图片描述

97、关于map,下面说法正确的是?

在这里插入图片描述

98、关于同步锁,下面说法正确的是?

在这里插入图片描述

99、Once使用有没有问题

在这里插入图片描述

100、Waitgroup代码有什么问题

在这里插入图片描述

101、Mutex代码有什么问题

在这里插入图片描述
在这里插入图片描述

102、Pool代码有什么问题

在这里插入图片描述
在这里插入图片描述

103、Channel1有什么问题

在这里插入图片描述

104、Channel2有什么问题

在这里插入图片描述
在这里插入图片描述

105、Map代码有什么问题

在这里插入图片描述

106、Map 2

在这里插入图片描述
在这里插入图片描述

107、Slice代码有什么问题

在这里插入图片描述

108、以下代码有什么问题,说明原因。

在这里插入图片描述
在这里插入图片描述

109、下面代码输出什么?并说明原因

在这里插入图片描述

110、下面代码输出什么?

在这里插入图片描述

111、下面代码会触发异常吗?请详细说明

在这里插入图片描述

112、下面代码输出什么?

在这里插入图片描述

113、请写出以下输入内容

在这里插入图片描述

114、下面的代码有什么问题?

在这里插入图片描述

115、下面的迭代会有什么问题?

在这里插入图片描述
在这里插入图片描述

116、以下代码能编译过去吗?为什么?

在这里插入图片描述

117、以下代码打印出来什么内容,说出为什么

在这里插入图片描述
在这里插入图片描述

118、下面代码能运行吗?为什么。

在这里插入图片描述

119、请说出下面代码存在什么问题。

在这里插入图片描述

120、写出打印的结果。

在这里插入图片描述

121、下面的代码是有问题的,请说明原因。

在这里插入图片描述

122、请找出下面代码的问题所在。

在这里插入图片描述

123、请说明下面代码书写是否正确。

在这里插入图片描述

124、下面的程序运行后为什么会爆异常。

在这里插入图片描述

125、请说出下面代码哪里写错了

在这里插入图片描述

126、请说出下面代码,执行时为什么会报错

在这里插入图片描述

127、请说出下面的代码存在什么问题?

在这里插入图片描述

128、下面这段代码为什么会卡死?

在这里插入图片描述

129、下面代码输出什么?

在这里插入图片描述

130、 以下代码有什么问题,说明原因

在这里插入图片描述

131、下面的代码会输出什么,并说明原因

在这里插入图片描述

132、下面代码会输出什么?

在这里插入图片描述

133、下面代码会触发异常吗?请详细说明

在这里插入图片描述

134、下面代码输出什么?

在这里插入图片描述

135、请写出以下输入内容

在这里插入图片描述

136、下面的代码有什么问题?

在这里插入图片描述

137、下面的迭代会有什么问题?

在这里插入图片描述

138、以下代码能编译过去吗?为什么?

在这里插入图片描述

139、以下代码打印出来什么内容,说出为什么。。。

在这里插入图片描述

140、写出以下代码出现的问题

在这里插入图片描述

141、写出以下打印内容

在这里插入图片描述

142、找出下面代码的问题

在这里插入图片描述

143、写出以下打印结果,并解释下为什么这么打印的。

在这里插入图片描述

144、写出以下打印结果

在这里插入图片描述

145、下面代码写法有什么问题?

在这里插入图片描述

146、下面代码写法有什么问题?

在这里插入图片描述

147、Mutex

在这里插入图片描述

148、RWMutex

在这里插入图片描述

149、Waitgroup

在这里插入图片描述

150、双检查实现单例

在这里插入图片描述

151、Mutex

在这里插入图片描述

152、Pool

在这里插入图片描述

153、channel

在这里插入图片描述

154、channel

在这里插入图片描述

155、 Map

在这里插入图片描述

156、happens before

在这里插入图片描述
在这里插入图片描述

157、sync.Map 的用法

在这里插入图片描述

二、代码编写题

1、交替打印数字字母

在这里插入图片描述
在这里插入图片描述

2、判断字符串中字符是否全都不同

在这里插入图片描述
在这里插入图片描述

3、字符替换问题

在这里插入图片描述
在这里插入图片描述

4、在 golang 协程和channel配合使用

在这里插入图片描述
在这里插入图片描述

5、实现阻塞读且并发安全的map

在这里插入图片描述

6、高并发下的锁与map的读写

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、写出以下逻辑,要求每秒钟调用一次proc并保证程序不退出?

在这里插入图片描述
在这里插入图片描述

8、为 sync.WaitGroup 中Wait函数支持 WaitTimeout 功能.`

在这里插入图片描述
在这里插入图片描述

9、多协程查询切片问题

在这里插入图片描述

package mainimport ("context""fmt""os""time"
)func main() {timer := time.NewTimer(time.Second * 5)data := []int{1, 2, 3, 10, 999, 8, 345, 7, 98, 33, 66, 77, 88, 68, 96}dataLen := len(data)size := 3target := 345ctx, cancel := context.WithCancel(context.Background())resultChan := make(chan bool)for i := 0; i < dataLen; i += size {end := i + sizeif end >= dataLen {end = dataLen - 1}go SearchTarget(ctx, data[i:end], target, resultChan)}select {case <-timer.C:fmt.Fprintln(os.Stderr, "Timeout! Not Found")cancel()case <- resultChan:fmt.Fprintf(os.Stdout, "Found it!\n")cancel()}time.Sleep(time.Second * 2)
}func SearchTarget(ctx context.Context, data []int, target int, resultChan chan bool) {for _, v := range data {select {case <- ctx.Done():fmt.Fprintf(os.Stdout, "Task cancelded! \n")returndefault:}// 模拟一个耗时查找,这里只是比对值,真实开发中可以是其他操作fmt.Fprintf(os.Stdout, "v: %d \n", v)time.Sleep(time.Millisecond * 1500)if target == v {resultChan <- truereturn}}}

http://www.mrgr.cn/news/95794.html

相关文章:

  • poetry安装与使用
  • 华为交换相关
  • vmwaretools解压失败|vmware tools distrib cannot mkdir read only file system|bug汇总
  • Linux 练习一 NFS和DNS
  • Floyd 算法--多源最短路
  • 利用dify打造命令行助手
  • Spring Boot整合Activiti工作流详解
  • 【Redis实战专题】「技术提升系列」​RedisJSON核心机制与实战应用解析(入门基础篇)
  • 调语音类大模型必备-音频录制小妙招-自制工具-借助浏览器录一段单声道16000采样率wav格式音频
  • 华为OD机试 - 核酸最快检测效率 - 动态规划、背包问题(Java 2024 E卷 200分)
  • 【学习记录】大模型微调之使用 LLaMA-Factory 微调 Qwen系列大模型,可以用自己的数据训练
  • How to share files with Linux mint 22 via samba in Windows
  • Sql Server 索引性能优化 分析以及分表
  • _DISPATCHER_HEADER结构中的WaitListHead和_KWAIT_BLOCK的关系
  • Linux的SPI子系统的原理和结构详解【SPI控制器(spi_master)、SPI总线(device-driver-match匹配机制)、SPI设备、SPI万能驱动`spidev.c`】
  • Unity 实现一个简易可拓展性的对话系统
  • 深度解读DeepSeek:开源周(Open Source Week)技术解读
  • 从零开始的LeetCode刷题日记:128. 最长连续序列
  • Spring Boot 整合 Nacos 注册中心终极指南
  • CentOS 7 更换 yum 源(阿里云)+ 扩展 epel 源