声明:题目源自牛客网。

一、单项选择题

解析:作为形参时,可以要求单向,只读或只写。

解析:Go语言的内存回收机制规定,只要有一个指针指向引用一个变量,那么这个变量就不会被释放(内存逃逸),因此在Go语言中返回函数参数或临时变量是安全的。

Golang 垃圾回收剖析

Go 内存逃逸详细分析

解析:Go语言类型转换语法:Type(expression)。

D选项是类型断言,类型断言语法为:expression.(Type)
对于类型断言,首先 expression 必须是接口类型,但D选项中 i 是 int 类型,无法进行类型断言;其次 i 是 int 类型,无法通过类型断言转换成 MyInt,只有类型相符时,类型断言才会成功。

解析:zero为无类型浮点型常量

package main

import (   "reflect"
"fmt"
) func main(){
a := 0.0
const zero = 0.0
fmt.Println(reflect.TypeOf(a),reflect.ValueOf(a).Kind()) //float64 float64
fmt.Println(reflect.TypeOf(zero),reflect.ValueOf(zero).Kind()) //float64 float64 }

二、不定项选择题

解析:区分好整型和布尔类型。

解析:全局变量要定义在函数之外,而在函数之外定义的变量只能用var定义。

解析:Go语言中切片、映射、通道、接口、函数是引用类型。

解析:单个case可以出现多个结果选项,比如 case 4,5,6

解析:cap的作用—— arry:返回数组的元素个数; slice:返回slice的最大容量 ;channel:返回channel的buffer容量。

package main

import (
"fmt"
) func main(){
aa := []int{,,}
fmt.Println(cap(aa)) //
fmt.Println(len(aa)) //
bb := []int{,}
fmt.Println(cap(bb)) //
fmt.Println(len(bb)) //
cc := make(chan int,)
fmt.Println(cap(cc)) //
fmt.Println(len(cc)) //
dd := make(map[string]string,) //map no cap
fmt.Println(len(dd)) //
}

三、参考资料

Go笔记-结构体和接口_开源中国

Zero values

理解Go语言的nil

Go语言总结(5)——类型转换和类型断言

四、小结

初次体验做Go语言相关题目,可以看出有些问题还是掌握的不够全面,尤其是Go语言的接口类型,cap函数的作用等。

部门内有位大佬曾说过,多尝试犯错(不是故意犯错哈),不要惧怕错误,只有犯错,才能记得更深更牢固,所以,目前我就正出于Go语言疯狂犯错->修补->再犯错的循环中。

加油!

牛客网_Go语言相关练习_选择题(1)的更多相关文章

  1. 牛客网_Go语言相关练习_选择题(3)

    题目来源于牛客网 一.选择题 Go语言自带垃圾回收机制. 如果是值传递的话子函数对map修改不会影响父函数中的map,如果是地址传递则会影响. go语言编译器会自动在以标识符.数字字面量.字母字面量. ...

  2. 牛客网_Go语言相关练习_选择题(2)

    注:题目来源均出自牛客网. 一.选择题 Map(集合)属于Go的内置类型,不需要引入其它库即可使用. Go-Map_菜鸟教程 在函数声明中,返回的参数要么都有变量名,要么都没有. C选项函数声明语法有 ...

  3. 牛客网_Go语言相关练习_判断&选择题(6)

    本文共34道题目 一.判断题 此题考查编码规范. 反射最常见的使用场景是做对象的序列化(serialization,有时候也叫Marshal & Unmarshal). 例如:Go语言标准库的 ...

  4. 牛客网_Go语言相关练习_判断&选择题(4)

    题目来源于牛客网 一.判断题 成员变量或者函数的首字母表示是否对外部可见. switch后面的声明语句和表达式语句都是可以选择的.例如: //可以什么都不加 switch: break; 错误指的是可 ...

  5. 牛客网_Go语言相关练习_判断&选择题(5)

    一.判断题 defer应该在if后面,如果文件为空,close会崩溃. package main import ( "os" "fmt" ) func main ...

  6. 关于牛客网C语言结构体位域(bit-fields)的一道题

    题目链接地址: https://www.nowcoder.com/questionTerminal/f4e20747a2dd4649bac0c028daa234f4 来源:牛客网 低地址字节 Byte ...

  7. 牛客网 --java问答题

    http://www.nowcoder.com/ 主要是自己什么都不怎么会.在这里可以学习很多的! 第一天看题自己回答,第二天看牛客网的答案! 1 什么是Java虚拟机?为什么Java被称作是“平台无 ...

  8. 【转自牛客网】C++类职位校招

    作者:./a.out链接:https://www.nowcoder.com/discuss/14022来源:牛客网 话说在牛客网上混迹了半年,也没啥拿的出手的贡献.现在基本上自己的校招生涯要告一段落, ...

  9. 牛客网 - vivo2020届春季

    牛客网 - vivo2020届春季 1.[编程题]手机屏幕解锁模式 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M 现有一个 3x3 规格的 Android ...

随机推荐

  1. 【3dsmax2016】安装图文教程、破解注册以及切换语言方法

    第一步:安装3dsmax2014 64位中文版 第二步:解压3dsmax2014 64位中文版安装包 第三步:选择安装产品 第四步:接受相关协议 第五步:产品序列号和密钥 第六步:产品子组件选择 第七 ...

  2. 域名DNS解析工具ping/nslookup/dig/host

    常见 DNS 记录的类型 类型 目的 A 地址记录,用来指定域名的 IPv4 地址,如果需要将域名指向一个 IP 地址,就需要添加 A 记录. AAAA 用来指定主机名(或域名)对应的 IPv6 地址 ...

  3. AnguarJS中链式的一种更合理写法

    假设有这样的一个场景: 我们知道一个用户某次航班,抽象成一个departure,大致是: {userID : user.email,flightID : "UA_343223",d ...

  4. 【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

    如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动 ...

  5. java获取文件列表,并按照目录的深度及文件名的拼音的升序排列

    java实现在线浏览zip文件及文件下载 首先用java读出目录或是zip下的所有文件 1KG_20140718_HD/Readme-说明.htm:3.00KB1KG_20140718_HD/一键GH ...

  6. cocos3.x - lua vs2013环境搭建及项目创建示例

    第一步:装vs2013vs 2013下载(没试过) 安装颜色设深色(不伤眼睛),只装c++够用了 第二步:装cocos环境 (如果不打包只为了解引擎之类的话,只装cocos就可以了(就可以了,jdk, ...

  7. Selenium support for PhantomJS has been deprecated, please use headless

    今天在使用Selenuim+PhantomJS动态抓取网页时,出现如下报错信息: C:\Python36\lib\site-packages\selenium-3.11.0-py3.6.egg\sel ...

  8. 详细解读Android中的搜索框(三)—— SearchView

    本篇讲的是如何用searchView实现搜索框,其实原理和之前的没啥差别,也算是个复习吧. 一.Manifest.xml 这里我用一个activity进行信息的输入和展示,配置方式还是老样子,写一个输 ...

  9. mac上配置mysql与redis server,并结合Pydev准备某爬虫环境

    mysql下安装mysql server mysql下安装redis server:https://www.jianshu.com/p/3bdfda703552 mac下安装配置redis:https ...

  10. linux内核剖析(零)linux系统启动过程详解-开机加电后发生了什么

    本文参考了如下文章 深入理解linux启动过程 mbr (主引导记录(Master Boot Record)) 电脑从开机加电到操作系统main函数之前执行的过程 详解linux系统的启动过程及系统初 ...