Go语言学习:第1天

一、为什么开始学go语言

我自己是做测试的,所测试项目使用的是go语言。开始学习go语言的原因有两个:一方面,为了更好的做好工作;
另一方面,为了提高自己的核心竞争力。

二、第1天学习到的内容

2.1 Go是怎么解决包依赖管理问题的?

早期:GOPATH
中期:go vendor
现在:Go Module

  • 将基于当前项目创建一个 Go Module,通常有如下几个步骤:
  • 第一步,通过 go mod init 创建 go.mod文件,将当前项目变为一个 Go Module;
  • 第二步,通过 go mod tidy 命令自动更新当前 module 的依赖信息;
  • 第三步,执行 go build,执行新 module 的构建。
2.2 Go Module常见使用场景

参考文档:Go Module使用 六大场景讲解示例
1、为当前 module 添加一个依赖
如果我们要增加某个依赖,可以手动执行 go get 命令;我们也可以使用 go mod tidy 命令,在执行构建前自动分析源码中的依赖变化,识别新增依赖项并下载它们

go get github.com/google/uuid

2、升级依赖的版本
执行带有版本号的 go get 命令

$ go get github.com/sirupsen/logrus@v1.7.0

3、降级依赖的版本

$ go get github.com/sirupsen/logrus@v1.7.1
2.3 Go项目的目录结构

优秀开源 的go项目结构样例–Docker
在这里插入图片描述

2.4 Go中命名规范

Go语言从语法层面进行了以下限定:任何需要对外暴露的名字必须以大写字母开头,不需要对外暴露的则应该以小写字母开头。

当命名(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Analysize,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);
命名如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 private )
比如,在main方法中,调用controller.index(),由于是小写字母开头,对外不可见,所以无法调用成功。–询问同事ying.wang才解决的。
在这里插入图片描述

三、遇到问题汇总

3.1 golang 中main包下入口文件调用其它go文件函数出现undefined
在这里插入图片描述

四、憧憬

学习大佬文档知识,模仿实现一个类似的
7天用Go从零实现Web框架Gee教程

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

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

相关文章

托盘四向穿梭车自动化密集库供应|单机智能向系统智能跨越的HEGERLS托盘四向车系统

随着物流产业的迅猛发展,托盘四向穿梭式自动化密集仓储系统可认为是在穿梭车货架系统基础上提出的一种新仓储概念。托盘四向穿梭式立体库因其在流通仓储体系中所具有的高效密集存储功能优势、运作成本优势与系统化智能化管理优势,已发展为仓储物流的主流…

vue的el-table多选对某个选项进行禁用

文档相关链接 el-table多选官方文档 用法 <el-table-column type"selection" width"55" :selectable"selectable"></el-table-column>selectable(row, index) { // row当前列队数据if (row.disabled) { // 判断条件return false; …

仿短视频风格的自适应苹果CMS模板源码

这是一款仿短视频风格的自适应苹果CMS模板源码&#xff0c;设计简洁&#xff0c;适合用于搭建个人视频网站或者短视频分享平台。模板支持响应式布局&#xff0c;演示地 址 runruncode.com/yingshimanhau/19650.html 适配各种屏幕尺寸&#xff0c;功能丰富&#xff0c;用户体验良…

StoneDB-8.0-V2.2.0 企业版正式发布!性能优化,稳定性提升,持续公测中!

​ 11月&#xff0c;StoneDB 新版本如期而至&#xff0c;这一个月来我们的研发同学加班加点&#xff0c;持续迭代&#xff1a;在 2.2.0 版本中&#xff0c;我们针对用户提出的需求和做出了重量级更新&#xff0c;修复了一些已知和用户反馈的 Bug&#xff0c;同时对部分代码进行…

3 Mycat读写分离实现

1、读写分离介绍 基于Mysql主从复制&#xff0c;我们通过Mycat&#xff0c;能够实现读写分离&#xff0c;即master主服务器实现写操作(insert,update,delete等)&#xff0c;salve从服务器实现读操作(select等)主服务器一旦有写入操作&#xff0c;从服务器通过读取binlog&#x…

c#读取XML文件实现晶圆wafermapping显示demo计算电机坐标控制电机移动

c#读取XML文件实现晶圆wafermapping显示 功能&#xff1a; 1.读取XML文件&#xff0c;显示mapping图 2.在mapping视图图标移动&#xff0c;实时查看bincode,x,y索引与计算的电机坐标 3.通过设置wafer放在平台的位置x,y轴电机编码值&#xff0c;相机在wafer的中心位置&#…

写实3D游戏模型纹理贴图设置

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xff1a; …

kyuubi整合flink yarn session mode

目录 概述配置flink 配置kyuubi 配置kyuubi-defaults.confkyuubi-env.shhive 验证启动kyuubibeeline 连接使用hive catlogsql测试 结束 概述 flink 版本 1.17.1、kyuubi 1.8.0、hive 3.1.3、paimon 0.5 整合过程中&#xff0c;需要注意对应的版本。 注意以上版本 配置 ky…

Python从入门到精通四:Python循环语句

前言 循环普遍存在于日常生活中&#xff0c;同样&#xff0c;在程序中&#xff0c;循环功能也是至关重要的基础功能。 为什么学习循环语句 循环在程序中同判断一样&#xff0c;也是广泛存在的&#xff0c;是非常多功能实现的基础&#xff1a; while循环的基础语法 学习目标&…

STM32超声波——HC_SR04

文章目录 一.超声波图片二.时序图三.超声波流程四.单位换算五.取余计算六.换算距离七.超声波代码 一.超声波图片 测量距离&#xff1a;2cm——400cm 二.时序图 (1).以下时序图要先提供一个至少10us的脉冲触发信号&#xff0c;告诉单片机我准备好了&#xff0c;然后该超声波…

STM32——继电器

继电器工作原理 单片机供电 VCC GND 接单片机&#xff0c; VCC 需要接 3.3V &#xff0c; 5V 不行&#xff01; 最大负载电路交流 250V/10A &#xff0c;直流 30V/10A 引脚 IN 接收到 低电平 时&#xff0c;开关闭合。

黄油市场调研:预计2028年将达到717亿美元

黄油富含矿物质和维生素&#xff0c;奶油主要为脂肪和蛋白质组成&#xff0c;黄油主要用于涂抹面包和煎牛排等&#xff0c;随着西餐认可度提升&#xff0c;国内需求持续上行。黄油营养成分为乳制品之首&#xff0c;脂肪含量更高。 黄油主要用于涂抹面包和煎牛排等&#xff0c;随…

二十四、双缓冲机制

二十四、双缓冲机制 所谓双缓冲机制&#xff0c;是指在绘制控件时&#xff0c;首先将要绘制的内容绘制在一个图片中&#xff0c;再将图片一次性的绘制到控件上。 实现以下实例 接下来我们将一一介绍实现的功能 首先我们创建一个QMainWindow工程 继续创建一个cClass文件&…

配置BFD多跳检测示例

BFD简介 双向转发检测BFD&#xff08;Bidirectional Forwarding Detection&#xff09;是一种全网统一的检测机制&#xff0c;用于快速检测、监控网络中链路或者IP路由的转发连通状况。 为了减小设备故障对业务的影响&#xff0c;提高网络的可靠性&#xff0c;网络设备需要能够…

vue3中实现el-tree通过ctrl或shift批量选择节点并高亮展示

一、看效果&#xff1a; 按住ctrl键实现单个多选 按住shift实现区间范围多选 二、代码&#xff1a; vue页面 <template><el-treeclass"w100%":data"$.treeData"ref"treeTab…

SQL中的三值逻辑:TRUE、FALSE 和 UNKNOWN。

在SQL中&#xff0c;通常采用三值逻辑处理条件表达式的真值。这种逻辑是基于三种可能的真值状态&#xff1a;TRUE、FALSE 和 UNKNOWN。 TRUE&#xff08;真&#xff09;&#xff1a; 表示条件为真或成立。 FALSE&#xff08;假&#xff09;&#xff1a; 表示条件为假或不成立。…

python实战教学之python版“张万森,好久不见”

前言 WINTER IS COMING 最近《一闪一闪亮星星》的电影在火热预售中&#xff0c;家人们抢到票了嘛&#xff0c;前两天小编写了一篇“张万森&#xff0c;下雪了”的文章后&#xff0c;收到了不少小伙伴的反馈&#xff1a;“代码的运行结果只有文字&#xff0c;没有雪花啊”&#…

C# OpenCvSharp DNN 深度神经网络下的风格迁移模型

目录 介绍 效果 项目 代码 下载 C# OpenCvSharp DNN 深度神经网络下的风格迁移模型 介绍 深度神经网络下的风格迁移模型&#xff0c;适用于OpenCv、EmguCv。 斯坦福大学李飞飞团队的风格迁移模型是一种基于深度学习的图像处理技术&#xff0c;可以将一张图像的风格转移…

全面解析ucrtbased.dll找不到的解决方法,快速解决dll问题

在计算机编程和软件开发中&#xff0c;我们经常会遇到一些陌生的DLL文件&#xff0c;其中就包括了ucrtbased.dll。那么&#xff0c;ucrtbased.dll是什么&#xff1f;它有什么作用&#xff1f;又该如何正确使用呢&#xff1f;本文将详细解析ucrtbased.dll的定义、功能以及应用&a…

Python:核心知识点整理大全8-笔记

目录 ​编辑 4.5 元组 4.5.1 定义元组 dimensions.py 4.5.2 遍历元组中的所有值 4.5.3 修改元组变量 4.6 设置代码格式 4.6.1 格式设置指南 4.6.2 缩进 4.6.3 行长 4.6.4 空行 4.6.5 其他格式设置指南 4.7 小结 第5章 if语句 5.1 一个简单示例 cars.py 5.2 条…