一些Golang的题和解析①

全网有关Go的题太少了,收集了一些来巩固学习,解析是自己写的,有错轻喷!

  1. 通过指针变量 p 访问其成员变量 name,下面语法正确的是()
    A. p.name
    B. (*p).name
    C. (&p).name
    D. p->name

    参考答案:AB

知识点:取地址符&,变量定义后可通过操作符&来取地址操作,指针本质上是内存地址,不能取地址的地址,C错误。<-是通道(channel)发送和接收的符号,D错误。

  1. 关于字符串连接,下面语法正确的是()
    A. str := ‘abc’ + ‘123’
    B. str := "abc" + "123"
    C. str := '123' + "abc"
    D. fmt.Sprintf("abc%d", 123)

    参考答案:BD

知识点:用单引号(')括起来的是字符,AC错误。D:Sprint系列函数会把传入的数据生成并返回一个字符串。%d通用占位符。

  1. 关于协程,下面说法正确是()
    A. 协程和线程都可以实现程序的并发执行
    B. 线程比协程更轻量级
    C. 协程不存在死锁问题
    D. 通过channel来进行协程间的通信

    参考答案:AD

知识点:协程可以认为是轻量级的线程,共享堆但不共享栈。将通道(channel)用于并发编程时,处理不当会发生死锁。

  1. 关于init函数,下面说法正确的是()
    A. 一个包中,可以包含多个init函数
    B. 程序编译时,先执行导入包的init函数,再执行本包内的init函数
    C. main包中,不能有init函数
    D. init函数可以被其他函数调用

    参考答案:AB

知识点:函数init和main在定义时不能有任何的参数和返回值,只能由Go程序自主调用,不能被外部引用。init函数可以在任意包中定义,且可以重复定义多个。

  1. 关于循环语句,下面说法正确的有()
    A. 循环语句既支持for关键字,也支持while和do-while
    B. 关键字for的基本使用方法与C/C++中没有任何差异
    C. for循环支持continue和break来控制循环,但是它提供了一个更高级的break,可以选择中断哪一个循环
    D. for循环不支持以逗号为间隔的多个赋值语句,必须使用平行赋值的方式来初始化多个变量
    参考答案:CD

知识点:在Go语言中只用for来实习次数确定和次数不确定的循环。

6.关于类型转化,下面语法正确的是()

A.

type MyInt int

var i int = 1

var j MyInt = i

B.

type MyInt int

var i int = 1

var j MyInt = (MyInt)i

C.

type MyInt int

var i int = 1

var j MyInt = MyInt(i)

D.

type MyInt int

var i int = 1

var j MyInt = i.(MyInt)

参考答案:C

知识点:类型转换:类型B(类型A的值),在Go语言中支持自定义数据类型:type 新数据类型 基于的数据类型A,是MyInt类型,i是int类型,错误;B,D语法错误.

不是所有类型都可以转换,比如string类型,bool类型不能转为int类型,int(3.14)也不行,数值类型不能通过截取转换为整数类型。

7.关于布尔变量b的赋值,下面错误的用法是()
A. b = true
B. b = 1
C. b = bool(1)
D. b = (1 == 2)

参考答案:BC

知识点:布尔类型无法参与数值运算,也无法与其他类型转换。

8.Golang中的引用类型包括()
A. 数组切片
B. map
C. channel
D. interface

参考答案:ABCD

知识点:引用类型:切片(slice),通道(channel),接口(interface),函数(func),映射(map)

值类型:字符串类型,数值类型,布尔类型,数组类型。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥感天坑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值