声明:题目源自牛客网。

一、单项选择题

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

解析: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. CF1039C.Network Safety

    目录 题目链接 题解 代码 题目链接 CF1039C.Network Safety 题解 对于一对相邻点,^异或后相同的值唯一a_i ^ t= b_i,a_i ^ b_i = t 对于不在t集合的直接 ...

  2. 10.31 正睿停课训练 Day13

    目录 2018.10.31 正睿停课训练 Day13 A Poker(期望) B Label(高斯消元) C Coin(二分图染色 博弈) 考试代码 A(打表) B 2018.10.31 正睿停课训练 ...

  3. Python获取系统音量

    1,如果是windows下 试试这个python 模块winsoundhttp://docs.python.org/2/library/winsound.html这个也可以winmm调整windows ...

  4. python——append与extend

    编者注:本文主要参考了<Python核心编程(第二版)> 网上有很多对这两个函数的区别讲解,但我觉得都讲的不是很清楚,记忆不深刻.这样解释清楚且容易记住. list.append(obje ...

  5. [CC-LONCYC]Lonely Cycles

    [CC-LONCYC]Lonely Cycles 题目大意: \(T(T\le1000)\)组数据. 给定一张简单图(不含重边与自环),图中有\(n(n\le2\times10^5)\)个节点和\(m ...

  6. 实例化和设置一个优秀的php对象

    类是用于生成对象的代码模板,对象可以被说成是类的"实例" class ShopProduct{ public $title = 'default product'; // 属性也称 ...

  7. POST数据中有特殊符号导致数据丢失的解决方法

    使用Ajax传送数据时,当数据中存在加号(+).连接符(&)或者百分号(%)时,服务器端接收数据时会丢失数据.分析Ajax传送数据的格式与Javascript的语法: 1. "+&q ...

  8. iOS Application Extension

    链接: iOS App Extension入门 iOS10通知及通知拓展Extension使用详解(附Demo) iOS10 通知extension之 Content Extension

  9. Linux下刷新DNS缓存(Ubuntu/CentOS)

    现在很多Linux发行版都没有内置DNS本地缓存,Linux不像Windows那样可以使用ipconfig /flushdns来刷新,在Linux下无需刷新,因为本身没有缓存: 当然,如果非要缓存刷新 ...

  10. 菜鸟nginx源代码剖析数据结构篇(八) 缓冲区链表ngx_chain_t

    菜鸟nginx源代码剖析数据结构篇(八) 缓冲区链表 ngx_chain_t Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog. ...