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

注:题目来源均出自牛客网。

一、选择题

Map(集合)属于Go的内置类型,不需要引入其它库即可使用。

Go-Map_菜鸟教程

 

在函数声明中,返回的参数要么都有变量名,要么都没有。

C选项函数声明语法有错误,error是返回类型,但没有返回名。

 

go语言中字符串是UTF-8编码并存储的,它语言不定长的字节,所以它不支持下标操作,因为没一个下标操作代表的是固定长度的字节,所以不能对字符串中某个字符单独赋值。

Go-字符串_极客学院

 

由panic引发异常以后,程序停止执行,然后调用延迟函数(defer),就像程序正常退出一样。另外recover也是要写在延迟函数中的,如果发生异常延迟函数就不执行了,那就永远无法recover了。

 

本题考查对协程与进程的理解,B选项应该是协程比线程更轻量

进程和线程、协程的区别

 

Go语言的语法上是不支持指针运算的,所有指针都在可控的一个范围内使用,没有C语言的*void然后随意转换指针类型这样的东西。

Go语言的指针 & *

 

字符串只有两种直接表达的形式,一种是双引号,一种是反引号

A选项中的反引号是中文符号,编译肯定会报错。

 

golang 的 select 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作;

在执行select语句的时候,运行时系统会自上而下地判断每个case中的发送或接收操作是否可以被立即执行(立即执行:意思是当前Goroutine不会因此操作而被阻塞);

select的用法与switch非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述。与switch语句可以选择任何可使用相等比较的条件相比,select有比较多的限制,其中最大的一条限制就是每个case语句里必须是一个IO操作,确切的说,应该是一个面向channel的IO操作。

Go语言中 select 和 switch 的比较

 

基本思路:将引用的外部包的源代码放在当前工程的vendor目录下面,go 1.6以后编译go代码会优先从vendor目录先寻找依赖包。

它解决了避免项目代码外部依赖过多,迁移后需要多次go get 外包依赖包;而且通过go get 重新拉去的外部依赖包的版本可能和工程开发时使用的不一致导致编译错误的问题。

go vendor 介绍

 

布尔型变量应该赋值是true和false,正确答案应该是BCD。

Go编码规范指南

 

二、参考资料

Go的异常处理 defer, panic, recover

go语言之 panic, recover ——如何在go语言中优雅的处理错误

https://golang.org/pkg/builtin/

从例子中学习 go 语言 —— 基本语法

从例子中学习 go 语言 —— 数据结构、指针

Go语言中的指针运算

Go语言并发模型:使用 select

golang的select典型用法

https://github.com/golang/go/wiki/CodeReviewComments

The Go Programming Language Specification

 

三、总结

本次Go语言练习主要涉及到异常处理、集合、函数声明、对协程的理解、字符串连接、select机制、vendor和布尔型的编码规范。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390001.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java常用的八种排序算法与代码实现

排序问题一直是程序员工作与面试的重点,今天特意整理研究下与大家共勉!这里列出8种常见的经典排序,基本涵盖了所有的排序算法。 1.直接插入排序 我们经常会到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第…

熊猫ai智能机器人量化_机器学习中的熊猫是什么

熊猫ai智能机器人量化Machine learning is a complex discipline. The implementation of machine learning models is now far much easier than it used to be, this is as a result of Machine learning frameworks such as pandas. Wait!! isnt panda an animal? As I rec…

441. 排列硬币

441. 排列硬币 你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n ,计算并返回可形成 完整阶梯行 的总行数。 示例 1:…

调用百度 Echarts 显示重庆市地图

因为 Echarts 官方不再提供地图数据的下载&#xff0c;在这里保存一份&#xff0c;供日后使用&#xff0c;重庆地图数据的 JSON 文件在 CSDN 上下载。 <!DOCTYPE html> <html style"height: 100%"><head><meta charset"utf-8"><…

JEESZ-SSO解决方案

2019独角兽企业重金招聘Python工程师标准>>> 第一节&#xff1a;单点登录简介 第一步&#xff1a;了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS)&#xff0c;并且只有一个登录入口. SSO的体系中有下面三种角色: 1) User(多个) 2) Web应用(多个) 3) …

女朋友天天气我怎么办_关于我的天气很奇怪

女朋友天天气我怎么办带有扭曲的天气应用 (A Weather App with a Twist) Is My Weather Weird?™ is a weather app with a twist — it offers a simple answer to a common question we’ve all asked. To do this we look at how often weather like today’s used to happ…

5895. 获取单值网格的最小操作数

5895. 获取单值网格的最小操作数 给你一支股票价格的数据流。数据流中每一条记录包含一个 时间戳 和该时间点股票对应的 价格 。 不巧的是&#xff0c;由于股票市场内在的波动性&#xff0c;股票价格记录可能不是按时间顺序到来的。某些情况下&#xff0c;有的记录可能是错的…

为什么要用Redis

最近阅读了《Redis开发与运维》&#xff0c;非常不错。这里对书中的知识整理一下&#xff0c;方便自己回顾一下Redis的整个体系&#xff0c;来对相关知识点查漏补缺。我按照五点把书中的内容进行一下整理&#xff1a;为什么要选择Redis&#xff1a;介绍Redis的使用场景与使用Re…

区块链开发公司谈区块链在商业上的应用

对于近期正受科技界和资本市场关注的区块链行业&#xff0c;一句话概括说如果互联网技术解决的是通讯问题的话&#xff0c;区块链技术解决的是信任问题&#xff0c;其在商业领域应用如何呢&#xff1f;我们来从两个方面去进行剖析。 第一方面&#xff0c;区块链技术可以解决基础…

ORACLE1.21 PLSQL 01

-- 有了SQL 为什么还需要PL/SQL -- SQL功能很强大&#xff0c;但如果是单1sql语句&#xff0c;没有流程控制 -- PL/SQL 是什么&#xff1f; --不仅仅实现流程控制&#xff0c;同时保留SQL本身所有的功能 --还提供变量、常量等支持 --提供更多数据类型的支持 --第一&#xff0c;…

云原生数据库_数据标签竞赛云原生地理空间冲刺

云原生数据库STAC specification is getting closer to the ver 1.0 milestone, and as such the first virtual Cloud Native Geospatial Sprint is being organized next week. An outreach day is planned on Sep 8th with a series of talks and tutorials for everyone. R…

Linux 下的 hosts文件

2019独角兽企业重金招聘Python工程师标准>>> hosts 文件 目录在 /etc/hosts netstat -ntlp //linux 下查看端口 转载于:https://my.oschina.net/u/2494575/blog/1923074

DjangoORM字段介绍

转载于:https://www.cnblogs.com/cansun/p/8647371.html

黑客独角兽_双独角兽

黑客独角兽Preface前言 Last week my friend and colleague Srivastan Srivsan’s note on LinkedIn about Mathematics and Data Science opened an excellent discussion. Well, it is not something new; there were debates in the tech domain such as vim v.s emacs to …

38. 外观数列

38. 外观数列 给定一个正整数 n &#xff0c;输出外观数列的第 n 项。 「外观数列」是一个整数序列&#xff0c;从数字 1 开始&#xff0c;序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列&#xff1a; countAndSay(1) “1”countAnd…

Lab1

1.导入 JUnit&#xff0c;Hamcrest Project -> Properites -> Java Build Path -> Add External JARs 2. 安装 Eclemma Help -> Eclipse marketplace 搜索 Eclemma&#xff0c;点击Installed 3. 测试代码 TrianglePractice&#xff1a; public class TrianglePract…

551. Student Attendance Record I 从字符串判断学生考勤

&#xff3b;抄题&#xff3d;&#xff1a; You are given a string representing an attendance record for a student. The record only contains the following three characters: A : Absent. L : Late.P : Present. A student could be rewarded if his attendance record…

使用deploy命令上传jar到私有仓库

打开cmd命令提示符&#xff0c;mvn install是将jar包安装到本地库&#xff0c;mvn deploy是将jar包上传到远程server&#xff0c;install和deploy都会先自行bulid编译检查&#xff0c;如果确认jar包没有问题&#xff0c;可以使用-Dmaven.test.skiptrue参数跳过编译和测试。 全命…

Mac上使用Jenv管理多个JDK版本

使用Java时会接触到不同的版本。大多数时候我在使用Java 8&#xff0c;但是因为某些框架或是工具的要求&#xff0c;这时不得不让Java 7上前线。一般情况下是配置JAVA_HOME&#xff0c;指定不同的Java版本&#xff0c;但是这需要人为手动的输入。如果又要选择其他版本&#xff…

交互式和非交互式_发布交互式剧情

交互式和非交互式Python中的Visual EDA (Visual EDA in Python) I like to learn about different tools and technologies that are available to accomplish a task. When I decided to explore data regarding COVID-19 (Coronavirus), I knew that I would want the abilit…