Go语言精进之路读书笔记—第二章 项目结构、代码风格与标识符命名

news2024/11/25 11:00:58

在这里插入图片描述
上面是go语言库项目结构,细节补充如下:

cmd目录
存放项目要构建的可执行文件对应的main包源文件。
pkg目录
项目自身要使用并且同样也是可执行文件对应main包要依赖的库文件。
makefile
代码任何第三方构建工具脚本,例如 mave gradle的构建脚本。
go.mod go.sum
go语言包依赖管理使用的配置文件。

阅读过程中的问题:

gofmt 是类似 java google format 的插件么?集成到 ide 里面用来规范代码的吗?

  • -s 简化
  • -r 微重构
  • -l按格式要求输出满足条件文件列表

go命名的时候很短小
这样可以应用到java里面吗?感觉只在上下文比较简单的场景,可能会比较合适。
go语言追求简单一致利用上下文辅助名字信息传达的命名惯例。感觉还是要大家命名达成一致,实话说简短的命名还是对可读性存疑的。

书里面好坏命名对比:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

设备算法加密授权“安全+易用=?”

一提到软件授权,大家的第一反应都是“安全”和“易用”的问题,尤其是在算法加密授权领域。软件企业想要十足的安全性用来防止反编译,同时又需要具备灵活和易用来促使企业商业模式落地。那现在市面上是否有这样一款兼顾“安全性”和“易用性”…

谈谈:File、Blob、FileReader、ArrayBuffer、base64

JavaScript 提供了一些 API 来处理文件或原始文件数据,例如:File、Blob、FileReader、ArrayBuffer、base64 等。下面就来看看它们都是如何使用的,它们之间又有何区别和联系。 1. Blob Blob全称为binary large Object 即二进制大对象&#x…

嵌入式软件开发工程师具体可以分三类

嵌入式软件开发工程师可以根据其职责和专长分为以下三类:底层固件开发工程师:底层固件开发工程师负责编写和优化嵌入式系统的底层软件,与硬件密切相关。他们通常需要熟悉处理器架构、寄存器级编程、中断处理、设备驱动程序和实时操作系统&…

Oracle21C + PLSQL Developer 15 + Oracle客户端21安装配置完整图文版

一、Oracle21C PLSQL Developer 15 Oracle客户端文件下载 1、Oracl21C下载地址:https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html 2、 PLSQL Developer 15下载地址:https://www.allroundautomations.com/re…

微信支付(JSAPI支付)/支付宝支付(手机网站支付)实现思路及实现方案-无源码

背景 停车系统 一个二维码同时支持微信及支付宝扫码付款,使用手机网站实现 临时车费用缴费二维码需要通知支持微信及支付宝。用户缴纳的停车费直接到各个商户的账户上,不经过停车系统开发公司。 方案 微信:使用微信服务商提供的服务支付…

【twcc】学习2:cc-feedback包送去cc预估码率

继续学习1,学习1中是准备知识,实际操练是在本文的预估中。 主要是对照大神的神作第八章 学习。 大量引用了大神的内容。 学习1中,大神主要论述了发送侧如何构造cc-fb,等待收到rtcp-cc-fb后进行再更新,然后最终交给cc模块。 这是大神绘制的图片,总结的非常清晰到位: 大神…

归一化详细推导

1. 一组数减去平均数的差的和为0。 一组数:a1,a2,a3,……,an, 平均数:a=(a1+a2+……+an)/n, 则 a1+a2+……+an=n*a, 从而,每一个数减去平均数的差的和为 (a1-a)+(a2-a)+……+(an-a) =(a1+a2+……+an)-n*a =0 2. 设原始数据均值及标准差为,将原始数组经过变换后得到使得均…

保护您的网站免受黑客攻击的七个良好习惯

世界上通常有三种类型的网站/APP拥有者:第一种是一直具备较高风险意识的人、第二种是非常自信认为没有任何东西可以攻击和破坏他们网站的人,第三种:根本不关心它的人。 第二种远比另外两种人更容易感受后悔和痛苦。实际上,黑客攻…

autocad中的快文件

一、块的定义 图块也称块,它是由一组图形对象组成的集合,一组对象一旦被定义为图块,它们将成 为一个整体,选中图块中任意一个图形对象即可选中构成图块的所有对象。AutoCAD 把一个 图块作为一个对象进行编辑修改等操作&…

docker常用基本命令及安装

docker常用基本命令及安装 1. docker启动等命令2. 常用基本操作命令3. 删除镜像3.1 步骤如下:3.2 可能会出现的问题 4. 宿主机与容器之间拷贝文件5. 关于docker的安装5.1 安装5.2 解决拉取镜像失败(超时)——配置 docker 镜像加速 1. docker启…

有什么好用的mp3转wav软件?分享这几个方法!

无论是在日常生活还是工作中,我们经常需要进行音频格式转换,如将MP3转换为WAV。通常情况下,为了解决这个问题,我们需要依赖专业的音频转换工具。下面介绍三款非常好用的音频转换软件,供参考: 一、记灵在线…

Git(1)

文章目录 1. 初始 Git2. 安装 Git3. 创建仓库4. 新增配置项5. 认识 Git 工作区 , 缓存区 , 版本库6. 添加文件7. 查看 .git 文件8. 修改文件9. 版本回退10. 撤销修改11 . 总结 1. 初始 Git 提出问题 : 图一 : 图二 : 图三 : 2. 安装 Git 3. 创建仓库 只…

一个资深测试工程师面试一来就问我这些题目

作为一个已经工作有10年经验的测试工程师,其间也辗转了几个大的互联网公司,虽然确实缺少了一些稳定性,但同时也积累了一些面试的经验,不才分享一些给大家。那么主要是针对测试工程师的一些总结,对于其他的工种&#xf…

9.Sentinel控制台 配置 nacos持久化

一、Sentinel 持久化机制 推送模式说明优点缺点原始模式API将规则推送至客户端并直接更新到内存中,扩展写数据源简单、无任何依赖不保证一致性;规则保存在内存中,重启不建议用于生产环境PULL模式客户端主动向某个规则管理中心定期轮询拉取规则,<br />这个规则中心可以…

Python面向对象编程1-面向过程的简单纸牌游戏程序 项目1.5 抽两张牌比较大小

总项目目标&#xff1a;用面向过程思想设计一个简单的纸牌游戏程序&#xff0c;称为"Higher or Lower"&#xff08;高还是低&#xff09;。游戏中&#xff0c;玩家需要猜测接下来的一张牌是比当前牌高还是低。根据猜测的准确性&#xff0c;玩家可以得到或失去相应的积…

elementui el-image组件 点击预览图片

效果&#xff1a;点击单个图片&#xff0c;查看大图 <template><el-container class"platform-list-page"><el-main class"stationList"><data-tableref"DataTable":default-show-type"defaultShowType":default…

Axure教程—对称对比图(中继器)

本文将教大家如何用AXURE中的中继器制作对称对比图 一、效果 预览地址&#xff1a;https://c517td.axshare.com 二、功能 修改中继器的数据&#xff0c;可自动生成对比图 三、制作 1、中继器 拖入一个中继器&#xff0c;并对其赋值&#xff0c;如图&#xff1a; 2、中继器内部…

web前端Tips:断点续传如何实现?

在Web前端中实现断点续传功能的一种常见方式是使用HTTP Range请求和文件分片上传。 以下是一个简单的断点续传实现的步骤&#xff1a; 前端将要上传的文件分成多个固定大小的片段&#xff08;chunk&#xff09;&#xff0c;例如每个片段的大小为1MB。当用户选择上传文件时&am…

【C/C++数据结构与算法】C语言扫雷游戏

目录 项目分析 外部头文件 初始化 打印 扫雷游戏函数 main函数 项目分析 游戏需要自定义地图的大小、埋雷的数量通过输入坐标进行扫雷&#xff0c;输入的坐标是埋雷的地方&#xff0c;则游戏失败输入的坐标未埋雷&#xff0c;则该坐标显示周围8个坐标总共的雷数游戏初始…

Redis入门指南:面向测试工程师

现在测试工程师面试难度越来越大&#xff0c;关于技术方面考察&#xff0c;很多面试官经常会问你是否了解过Redis缓存中间件&#xff0c;这道题一方面是考察你是否对后端技术有一定了解&#xff0c;另一方面也考察你测试工作的深浅。 所以本文将由浅到深、由易到难列举Redis相…