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.hqwc.cn/news/266810.html

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

相关文章

.NET 材料检测系统崩溃分析

Windbg 分析 1. 到底是哪里的崩溃 一直跟踪我这个系列的朋友应该知道分析崩溃第一个命令就是 !analyze -v ,让windbg帮我们自动化异常分析。 0:033> !analyze -v CONTEXT: (.ecxr) rax00000039cccff2d7 rbx00000039c85fc2b0 rcx00000039cccff2d8 rdx000000000…

超卓航科引领冷喷涂增材制造革新,推动先进核反应堆发展

近日,超卓航科凭借其卓越的冷喷涂增材制造技术,成为推动核能领域创新的重要力量。该公司利用冷喷涂工程技术,或为核反应堆的制造和修复开辟了全新的道路。 冷喷涂技术是一种颇具前景的固态粉末沉积方法,可用于涂层制造、增材制造和…

HTML2

1 HTML 1.1 骨架 <!DOCTYPE html> //html5版本标识<html><head></head><body></body> </html> 网页的根主体&#xff0c;有且仅有一个&#xff0c;HTML负责结构&#xff0c;无需关注表现&#xff0c;CSS负责表现 标签有两种表现形…

启动cad显示丢失mfc140u.dll怎么办?mfc140u.dll丢失有效解决方法分享

在CAD软件或其他软件中&#xff0c;有时候会出现由于找不到mfc140u.dll文件而无法执行代码的错误提示。这个问题可能是由于多种原因引起的&#xff0c;例如文件损坏、缺失或被病毒感染等。下面将介绍五个常见的解决方法&#xff0c;并解释mfc140u.dll丢失的原因以及该文件对CAD…

智慧水利-城市防汛调度大屏提升防汛工作的效率和准确性

近年来&#xff0c;水利自然灾害一直以层出不穷的强度和频率摧毁我们人类的家园。国内每年夏天的洪涝灾害一直困扰着长江流域地区&#xff0c;每年夏天微博上关于洪涝的热门新闻也是层出不穷。以近期出现的山西大雨为例&#xff0c;异常降雨造成山西省11个市76个县&#xff08;…

Nginx的location匹配和rewrite重写

一、location匹配 常用的正则表达式 ^ &#xff1a;匹配输入字符串的起始位置 $ &#xff1a;匹配输入字符串的结束位置 * &#xff1a;匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll”&#xff1a;匹配前面的字符一次或多次。如“ol”能匹配“ol”及“oll…

持续集成交付CICD:GitLabCI上传Nexus制品

目录 一、实验 1.GitLabCI上传Nexus制品 2.优化GitLabCI&#xff08;引用系统变量&#xff09; 3.添加if条件判断项目类型 4.优化GitLabCI&#xff08;模板类&#xff09; 二、问题 1.GitLabCI获取jar文件失败 2. GitLabCI获取流水线项目命名空间失败 3.GItLab Packag…

centos-LAMP搭建与配置(论坛网站)

文章目录 LAMP简介搭建LAMP环境安装apache&#xff08;httpd&#xff09;安装mysql安装PHP安装php-mysql安装phpwind LAMP简介 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写&#xff1a;Linux操作系统&#xff0c;网页服务器Apache&#xff0c;…

大模型应用_ChatGPT-Next-Web

1 用后感 这个工具&#xff0c;我也是用了好长时间&#xff0c;就是感觉如果不点亮一颗星&#xff0c;自己就不是人了的那种。 一开始在国内用 ChatGPT 非常麻烦&#xff0c;就买了一个套壳的服务&#xff0c;他使用的界面就是 ChatGPT-Next-Web&#xff0c;我和朋友们都觉得这…

禾匠榜店商城系统 RCE漏洞复现

0x01 产品简介 禾匠榜店商城系统是浙江禾匠信息科技有限公司的一套基于PHP和MySQL的商城系统。 0x02 漏洞概述 禾匠榜店商城系统的api/testOrderSubmit模块下的preview方法存在命令执行漏洞,攻击者可以向服务器写入木马文件,直接获取服务器权限 0x03 漏洞概述 FOFA:bod…

西南科技大学数字电子技术实验四(基本触发器逻辑功能测试及FPGA的实现)FPGA部分

实验目的1、掌握基本RS触发器、集成D触发器和JK触发器的逻辑功能及测试方法。 2、熟悉D触发器和JK触发器的触发方法。 3、熟悉用JK和D触发器构成其他功能触发器的方法。 4、学会用FPGA实现本实验内容。 实验原理1、D触发器 Qn+1 = D 2、JK触发器 3、RS触发器 程序清单(每…

json.loads和eval 速度对比

json.loads和eval 速度对比 代码1结果图代码2参考地址 代码1 import json import time import pandas as pddata_sets pd.read_pickle("val_token_id.pandas_pickle") data_sets[str(i) for i in data_sets] starttime.time() [json.loads(i) for i in data_sets] …