go语言数据库管理工具 go语言类库

作为程序员的你,常用的软件有哪些? 这个就非常多了 , 下面我以常见的编程开发软件和数据库管理软件为例 , 简单介绍几种,感兴趣的朋友可以尝试一下:
01编程开发软件
这个要看具体编程语言了 , 不同语言开发工具自然不同,这里以常见的C/C、Java和Python为例,简单介绍3种比较常用的软件:
这是Windows平台下一个非常专业的集成开发工具,号称宇宙第一IDE环境,不仅仅只是C/C , 常见的C#、VB等编程语言 , 这个软件都能很好支持,智能补全、代码高亮、语法检查等功能非常不错,除此之外,还支持单元测试、代码重构和分析等高级功能 , 因此非常适合大型项目开发和维护:
这是一个非常专业智能的Java开发工具,在企业和个人桌面中,有着非常高的使用率和欢迎度 , 自动补全、语法提示、代码高亮等功能非常不错,除此之外,还支持JUnit、CVS整合、代码重构等高级功能,自带有Maven和Gradle构建工具 , 因此更适合Java项目开发和维护 , 个人使用起来非常不错:
这是一个非常专业的Python开发软件,和IntelliJ IDEA一样 , Jetbrains公司的产品,在业界非常流行、受欢迎,智能补全、代码高亮、语法提示等功能非常不错 , 除此之外 , 还支持代码重构和分析、单元测试等高级功能 , 因此更适合大型项目,个人使用来说 , 也非常简单,很容易上手和掌握:
02数据库管理软件
这个就非常多了,不同数据库都有专门的管理软件和工具,这里简单介绍3个比较通用的数据库管理软件,分别是HeidiSQL、DBeaver和DataGrip,对于日常使用来说,非常不错:
这是Windows平台下一个非常轻巧灵活的数据库管理软件,基于Delphi开发而来,目前支持MySQL、MariaDB、MSSQL、PostgreSQL等主流数据库,常见的建库建表、视图索引、触发器等基本功能,这个软件都能很好兼容,除此之外,还支持SQL脚本导入导出、数据备份恢复等功能,对于日常数据库管理来说,非常不错:
这是一个基于Java开发的数据库管理软件,免费、开源、跨平台 , 目前支持Oracle、MySQL、PostgreSQL、SQL Server等十几种主流数据库开发 , 建库建表、视图索引、触发器、存储过程等基本功能 都 可轻松查看和设计,数据库导入导出、数据 恢复 备份等功能也都非常不错,对于日常数据库管理和维护来说,是一个非常不错的工具:
这也是一个通用的数据库管理软件,Jetbrains公司的产品,支持跨平台 , 但原则上针对个人不免费,常见的PostgreSQL、MySQL、Oracle等数据库,这个软件都能很好支持,数据导入导出(恢复备份)、 智能代码填充、版本 集成 控制等功能非常不错,对于日常数据库管理来说 , 也是一个不错的工具:
每天常用开发工具:
0.Git:分布式版本控制系统;
1.IntelliJ IDEA:java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一;
2.Sublime Text:不只是代码编辑器;
3.Postman:Http请求模拟工具和功能强大的网页调试工具;
4.DataGrip:支持几乎所有主流的关系数据库、多功能的数据库操作工具;
5.Vagrant:用于创建和部署虚拟化开发环境,配合虚拟机使用;
6.Gradle:自动化构建工具;
7.JIRA:项目与事务跟踪工具;
8.iTerm2:Mac上的终端工具;
9.Jenkins:持续集成工具 。
做了一个写代码用了十几年的人 , 很多编程的习惯已经养成了,现在就罗列下每天必用的软件:
直接安装的linux系统,因为几乎所有的代码都是在linux下完成
java开发环境
C/C代码编辑工具
linux下虚拟windows系统virtualBox
软件提交工具git
不同的开发语言,每天要用到的软件可能不一样 。
我是开发java web的,电脑安装了很多工具,但是说每天要用到的好像就几个 。
作为程序员使用最多的软件,莫过于编程开发所用到的软件编辑器,但是编辑器的种类有很多 。我们需要做到的是,找到你最喜欢的编辑器然后熟练的使用它 。
同时掌握常见的一些快捷键的操作方式,从而来提升我们的工作效率,而不是以软件而论软件,什么都去接触使用 。毕竟软件是工具是帮助我们提升开发效率 。
下面我就列举我们PHP经常使用的软件
IDE工具类软件
这一类是开发软件编写代码用的 。这一类的软件非常多,我就推荐一个经常使用的PHPStorm,因为太多的话大家也用不到,也没有那么多的精力去熟练每一个编辑器 。
PHPStorm是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,旨在提高用户效率 , 可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查 。可以说是PHP开发程序员必备的神器 。
常用快捷键如下:
1.复制快捷方式
F5复制文件/文件夹
CTRL C复制
CTRL V粘贴
CTRL X剪 切,删除行
CTRL D复制行
CTRL SHIFT V可以复制多个文本
2.自动代码
ALT 回车导入包,自动修正
【go语言数据库管理工具 go语言类库】 CTRL ALT L格式化代
码CTRL ALT I自动缩进
CTRL ALT O优化导入的类和包
CTRL SHIFT SPACE 切换窗口
CTRL SPACE空格代码自动完成,代码提示,一般与输入法冲突
CTRL ALT SPACE类 名或接口名提示(与系统冲突)
CTRL P方法参数提示,显示默认参数
CTRL J自动代码提示,自动补全
CTRL ALT T把选中的代码放在 TRY{} IF{} ELSE{} 里ALT INSERT生成代码(如GET,SET方法,构造函数等)
3.运行
AltShiftF10选择的配置和运行
AltShiftF9选择配置和调试
ShiftF10运行
ShiftF9调试
CtrlShiftF10运行范围内配置编辑器
CtrlShiftX运行命令行
4.其他快捷方式
CTRL Z倒退(代码后悔)
CTRL SHIFT Z向前
CTRL H显 示类结构图
CtrlF12文件结构弹出
CTRL O魔术方法
CTRL /注释//取消注释
CTRL SHIFT /注释/*...*/
ctrl'.': 折叠选中的代码的代码
ALT/切换代码视图,标签切换
5.其他快捷方式
CTRL Z倒退(代码后悔)
CTRL SHIFT Z向前
CTRL H显 示类结构图
CtrlF12文件结构弹出
CTRL O魔术方法CTRL /注释//取消注释
CTRL SHIFT /注释/*...*/
ctrl'.': 折叠选中的代码的代码
ALT/切换代码视图,
数据库相关常用的工具
Navicat for MySQL是管理数据库的操作工具,都是可以连接远程的云数据库 。方便简化开发,还可以手动备份、可视化的sql分析 。
常用快捷键:
ctrl q打开查询窗口
ctrl /注释sql语句
ctrl shift/解除注释
ctrl r运行查询窗口的sql语句
ctrl shift r只运行选中的sql语句
F6打开一个mysql命令行窗口
ctrl d(1):查看表结构详情 , 包括索引 触发器,存储过程,外键,唯一键;(2):复制一行
ctrl l删除一行
ctrl n打开一个新的查询窗口
ctrl w关闭一个查询窗口
ctrl tab多窗口切换
服务器连接软件
XShell6是非常强大的SSH远程终端客户端 , 帮助我们连接远程的Linux服务器来进行操作 。
粘贴:Shift Insert
历史 命令编辑ctrlp返回上一次输入命令字符
alt返回上一次执行命令
其它
ctrls锁住终端
ctrlq解锁终端
ctrll清屏相当于命令clear
Tab键,快速补全命令
轻量级文本编辑器
Notepad。这个很轻量,打开一下文本非常的方便 。
常用快捷键
Ctrl C 复制
Ctrl X 剪切
Ctrl V 粘贴
Ctrl Z 撤消
Ctrl Y 恢复
Ctrl A 全选
Ctrl F 键查找对话框启动
Ctrl H 查找/替换对话框
Ctrl D 复制并粘贴当行
Ctrl F2 切换书签
F2 转到下一个书签Shift F2 转到上一个书签
F11 全屏模式
综上所述,软件只是一个工具,我们需要找到自己喜欢使用的,然后熟练一些常用的快捷方式即可,而并不是在于数量多 。
前端 :
visual studio code
后端:
pycharm
IDEA
安卓:
android studio
浏览器:
谷歌
火狐
数据库管理:
navicat
远端链接:
fileZilla
xshell
electerm(mac上使用)
流程图设计:
xmind
processOn
笔记:
为知笔记(付费一年60)
有道云笔记
虚拟机(容器)
VMware Fusion(mac上)
docker
其他:
postman
jmeter
作为一个12年开发经验的前端程序员,我来聊聊每天必用的几个软件 。
写代码自然离不开 编辑器。目前我主要使用的是微软的 Visual Studio Code。VS Code比较轻量,功能足够应付日常开发所需,跨平台,而且完全免费。因为之前长期使用Visual Studio在Windows平台上做开发 , 后来技术栈变化,经常需要在Linux和MacOS上做开发 , VS Code就成了我顺理成章的选择 。后来干脆在Windows上也用VS Code了 。目前整个团队都已经被VS Code圈粉了 。其它类似的如Sublime Text(需要付费)和Atom也有不少人使用 。
因为是团队开发,源代码管理工具 自然必不可少,而 git 是目前最热门的一个 。我们公司也不例外,几年前从Perforce迁移到了 GitHub企业版 (和公众版本UI完全相同) 。平时的代码审查也都是在GitHub企业版上完成的,不再使用单独的代码审查工具 。有些不习惯使用命令行方式的同事使用 SourceTree 完成日常的代码分支管理和提交,而我则比较热衷于命令行方式 。VS Code也提供了比较完善的git集成,但因为习惯的原因,除了直观比较不同代码版本的差异,我一般也不用VS Code执行git操作 。
作为一个Web前端, 浏览器及前端调试工具 自然不可或缺,Google ChromeDeveloper Tools (F12) 自然是首选 。使用Developer Tools , 可以对JavaScript进行调试 , 监控HTTP请求/响应,分析CSS计算问题和JS性能问题 。Chrome下还有很多功能强大的插件,个人比较常用的包括React Developer Tools、PostMan、Proxy SwitchOmega和AdBlock 。当然 , 因为经常面对浏览器兼容性问题,Firefox、IE、Edge、Apple Safari以及各自的Developer Tools都是免不了要用的 。
团队目前使用Scrum模型,自然需要一个做 任务规划和质量管理 的工具 。我们采用了 JIRA , 每天的站会(daily standup meeting)都会对scrum看板(board)进行更新 。
遇到技术问题 , 自然免不了要上网查找资料 。Google 的使用频率非常高(需要科学上网) 。大部分问题都能在StackOveflow 上找到线索 , 但有时候也不得不跑到大名鼎鼎的同性交友网站 GitHub 上看源码 。MDN (Mozilla Developer Network)对于前端开发也是不可或缺(此处鄙视一下w3cschool , 上面到处是错误知识) 。
其它如node.js/npm、docker等,因为和具体的技术栈相关,就不具体展开讲了 。
作为一个开发人员,你每天使用什么软件呢 , 欢迎说说看 。
尽管我是后端出身的,不过也经常写前端代码,甚至还用C#/C参与过一些客户端开发 , 自认为也算是一个Web全栈工程师 。随着前端技术的不断进步,现在的前端已经不再是写写页面这么简单了,很多逻辑在前端就写了,我建议每一个出色的开发者应该尽可能对前后端都能有不错的掌握 。
今天给大家推荐一些我认为前端和后端开发都需要经常用到的一些软件,这里面包括了查询资料工具、原型工具、文本编辑器、版本管理工具 。
原型工具
不管前端还是后端,尤其是前端程序员,在跟产品经历沟通之后肯定会要查看原型的 , 方便自己在开发过程中使用,基本上大公司输出的原型都比较规范,除非你遇到张小龙这种级别的大神,哥们儿直接盯着你做了 。
目前主流的原型工具主要有Axure、MockPlus、墨刀等,其中Axure依然是应用最为广泛的原型工具 , 大多数开发者也都应该用来看原型 。
文本编辑器
不管是前端还是后端程序员,当然前端程序员就不说了,在WebStorm出现之前,没有一款真正可以叫做IDE的前端开发工具,那么基本上文本编辑器就是前端程序员最重要的编程工具 。同样后端程序员即使不需要写前端代码,文本编辑器也是必备的,您不需要每次看代码都打开庞大的集成开发环境,像IDEA这种比较耗费资源的,平时查看代码啥的完全没有必要,何况你还经常要看一些前端代码 。
当然你比较习惯Linux/Unix下开发,Emacs/Vim可能是你用得比较多的文本编辑器,还有UltraEdit、Sublime Text、EditPlus、Atom这些老牌的文本编辑器,不过现在我觉得每个程序员都应该下载一个Visual Studio Code,支持的语言比较多,而且插件非常丰富,是微软官方支持的开发者工具 , 开源免费而且颜值非常高 。
查询资料、版本管理工具
不用多说,每个程序员都要学会很好的使用Google、Stack Overflow两个工具,可以说你日常开发当中可能遇到的问题,通过这两个工具你全都能找到解决方案 。
另外一个是Dash文档管理工具 , Dash是一个非常好的开发者帮助文档工具,这个工具的好处是给所有的开发文档做了一个整合,C/C、Java、PHP、Python、Latex、Emacs Lisp、Haskell、JavaScript、Go语言等文档都能够在这个工具当中下载使用 。
最后一个就是版本管理了 , SVN和Git依然是目前使用最为广泛的版本管理工具,不过就使用来说我还是推荐Git版本控制系统 , 可以说这个时代Git就是最好的版本管理工具了 , 尤其是开源时代、互联网时代,Git已经成为了最重要的版本管理工具,不管是命令行管理还是使用Github等客户端工具,堪称完美 。
入行十一年,现在主要做一些管理和架构方面的工作,也会做一些Coding , 主要是一些新技术的研究和“踩坑” 。
编辑器
首先是EditPlus , 这是一个文本编辑器 。最常用的两个功能:正则表达式查询和文件夹内所有文件内容搜索 。
平时经常需要看一些系统日志,甚至要从好几天几十个日志文件中找到内容 , 这个软件很好用 。(原谅我们没有上日志平台)
然后就是IDE啦,我还是喜欢用Eclipse,有时候会用STS(Spring Tool Suite),它也是一个被包装过的Eclipse,方便做一些Spring框架的研究 。
数据库工具
一个是DbVisualizer,凡是具有JDBC数据库接口的数据库都可以管理,什么数据库都能连 。
还有一个是SQLyog,这是一个快速而简洁的图形化管理MYSQL数据库的工具 , 我只用里面一个功能,就是数据的导入导出,效率非常高!
接口测试工具
大部分项目只对外提供接口服务 , 所以接口测试工具少不了,我一般使用SoapUI,WebService/Rest都可以进行测试 。
其他
每天肯定会用的肯定不止上面几个,还有版本控制工具svn和git,都会用到是因为单位svn现在开始往git迁移 。
因为用的Scrum敏捷开发流程,所以JIRA、Sonar、Fisheye这些也是都会用到的 。
Maven也不用说了,几个项目基本都是基于Maven构建的 。
必用的基本就是这些,只要电脑开着 , 这几个软件基本都是打开状态 。
go语言里面实现对数据库的操作,用什么包好尽量不要使用ORM , 简单的数据库交互是会省很多事 。
但是一旦查询语句越来越复杂,关联表越来越多,当你发现正在使用的ORM框架做不到时再换其他框架代价会很大 。为什么有那么多框架?就是没有一个框架能解决所有哪怕是大多数问题 。
建议只使用数据库驱动库 , database/sql库,可以完成所有go语言与数据库的交互 。
Go语言有什么好用的IDE吗我喜欢jetbrains系列的IDE go插件 。不过我要说的是这个问题主要看你的观点如何 。
说eclipse:
构建方式是使用go install 命令 , 每一次编译运行都是go install 。这样的好处就是如果你有很多的包,下载下来并没有编译 , 这样每次编译速度是很快的 。而且(?。ゞo install 符合go官方的项目结构,官方说过了,一个go的项目应该是以个gopath,包含src , pkg,bin三个主要目录 。所以说go install个人认为才是主要的go编译方式 。
说eclipse的缺点:
其实eclipse插件的go编译方式,还有目录结构,项目结构,都是非常完美的?。。。≌娴暮芡昝溃】墒牵琯o语言数据库管理工具他的代码提示,太差件!大括号都不能自动补全,gdb 32bit 64bit兼容问题,eclipseC没有html js插件,需要手动安装,几乎不能开箱即用 。不过如果你是开发算法,数据处理,还是推荐eclipse的,毕竟其go语言数据库管理工具他都无关紧要 。
说jetbrains:
说先说clione肯定不适合 , 新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果),然后说剩下的,phpstorm这个不说了,估计很少有人插件按在这里,webstorm,体验也不是很好,idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯 , 没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳 , 跟java系列一点不搭关系 , 用idea似乎有点格格不入,但是!idea支持新建项目向导,lib的图标也很清晰,最后还是选择idea吧,期待clion的强大起来!
再说jetbrains系列缺点:
插件的构建方式是go buiild 这个让人很不爽,我们几乎不确定会构建到什么地方去,还要每次设置一下run配置 。这个可能无关紧要,毕竟不是什么大的毛病 , 可是go build不能缓存.a文件,直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题 。自带代码格式化,这个格式化跟go 格格不入 , 总的来说就是蛋疼 , 心碎,菊花痒 。
最后说liteIDE:
轻量级IDE,我可以说是国人GO伟大作品典范,然而默认构建也是go build,项目管理方式不符合go官方标准 。代码提示不能自动导入(eclipse也不能),不过如果你的项目是以包为单位的,那么另当别论 。一定很不错,毕竟是轻量级专门针对GO的IDE!
说这些,其实还有很大一部分取决于你的项目是用vendor机制管理,还是godeps机制管理依赖关系 。go不像java拥有强大的几乎天下一统的maven(无意冒犯,暂不评价其他构建套件) 。
go没有官方包仓库 。
go没有官方包管理工具 。
go没有官方自动化构建套件 。
上面三个没有是致命要害 。导致民间各种百花齐放 。
说说我的项目怎么管理
gpm 一个shell工具(windows下你可以用git的bash,或者cygwin~)
我是严格艳照官方推荐方式管理go项目,一个go项目一个gopath 。系统的gopath只是为了安装go命令,我没有配置gobin,意义不大 。
项目的依赖跟我的代码包都在src下(非vendor)
vendor用来存放包的特殊依赖,发布项目直接把依赖包发布上去(公网管理则只上传依赖关系文件 godeps文件)
资源文件等都放在src目录同级,编译文件放在bin , 引用直接../引用 。
GO语言(三十):访问关系型数据库(上)本教程介绍了使用 Godatabase/sql及其标准库中的包访问关系数据库的基础知识 。
您将使用的database/sql包包括用于连接数据库、执行事务、取消正在进行的操作等的类型和函数 。
在本教程中,您将创建一个数据库 , 然后编写代码来访问该数据库 。您的示例项目将是有关老式爵士乐唱片的数据存储库 。
首先,为您要编写的代码创建一个文件夹 。
1、打开命令提示符并切换到您的主目录 。
在 Linux 或 Mac 上:
在 Windows 上:
2、在命令提示符下,为您的代码创建一个名为 data-access 的目录 。
3、创建一个模块,您可以在其中管理将在本教程中添加的依赖项 。
运行go mod init命令,为其提供新代码的模块路径 。
此命令创建一个 go.mod 文件 , 您添加的依赖项将在其中列出以供跟踪 。
注意:在实际开发中 , 您会指定一个更符合您自己需求的模块路径 。有关更多信息,请参阅一下文章 。
GO语言(二十五):管理依赖项(上)
GO语言(二十六):管理依赖项(中)
GO语言(二十七):管理依赖项(下)
接下来,您将创建一个数据库 。
在此步骤中,您将创建要使用的数据库 。您将使用 DBMS 本身的 CLI 创建数据库和表,以及添加数据 。
您将创建一个数据库,其中包含有关黑胶唱片上的老式爵士乐录音的数据 。
这里的代码使用MySQL CLI,但大多数 DBMS 都有自己的 CLI,具有类似的功能 。
1、打开一个新的命令提示符 。
在命令行,登录到您的 DBMS,如下面的 MySQL 示例所示 。
2、在mysql命令提示符下,创建一个数据库 。
3、切到您刚刚创建的数据库,以便您可以添加表 。
4、在文本编辑器的 data-access 文件夹中 , 创建一个名为 create-tables.sql 的文件来保存用于添加表的 SQL 脚本 。
将以下 SQL 代码粘贴到文件中,然后保存文件 。
在此 SQL 代码中:
(1)删除名为album表 。首先执行此命令可以让您更轻松地稍后重新运行脚本 。
(2)创建一个album包含四列的表:title、artist和price 。每行的id值由 DBMS 自动创建 。
(3)添加带有值的四行 。
5、在mysql命令提示符下 , 运行您刚刚创建的脚本 。
您将使用以下形式的source命令:
6、在 DBMS 命令提示符处,使用SELECT语句来验证您是否已成功创建包含数据的表 。
接下来,您将编写一些 Go 代码进行连接,以便进行查询 。
现在你已经有了一个包含一些数据的数据库,开始你的 Go 代码 。
找到并导入一个数据库驱动程序,该驱动程序会将您通过database/sql包中的函数发出的请求转换为数据库可以理解的请求 。
1、在您的浏览器中,访问SQLDrivers wiki 页面以识别您可以使用的驱动程序 。
2、使用页面上的列表来识别您将使用的驱动程序 。为了在本教程中访问 MySQL,您将使用 Go-MySQL-Driver 。
3、请注意驱动程序的包名称 - 此处为github.com/go-sql-driver/mysql.
4、使用您的文本编辑器,创建一个用于编写 Go 代码的文件 , 并将该文件作为 main.go 保存在您之前创建的数据访问目录中 。
5、进入main.go , 粘贴以下代码导入驱动包 。
在此代码中:
(1)将您的代码添加到main包中,以便您可以独立执行它 。
(2)导入 MySQL 驱动程序github.com/go-sql-driver/mysql 。
导入驱动程序后,您将开始编写代码以访问数据库 。
现在编写一些 Go 代码,让您使用数据库句柄访问数据库 。
您将使用指向结构的指针sql.DB,它表示对特定数据库的访问 。
编写代码
1、进入 main.go , 在import您刚刚添加的代码下方,粘贴以下 Go 代码以创建数据库句柄 。
在此代码中:
(3)使用 MySQL 驱动程序Config和FormatDSN类型以收集连接属性并将它们格式化为连接字符串的 DSN 。
该Config结构使代码比连接字符串更容易阅读 。
(4)调用sql.Open 初始化db变量,传递 FormatDSN 。
(5)检查来自 的错误sql.Open 。例如,如果您的数据库连接细节格式不正确,它可能会失败 。
为了简化代码,您调用log.Fatal结束执行并将错误打印到控制台 。在生产代码中 , 您会希望以更优雅的方式处理错误 。
(6)调用DB.Ping以确认连接到数据库有效 。在运行时,sql.Open可能不会立即连接 , 具体取决于驱动程序 。您在Ping此处使用以确认 database/sql包可以在需要时连接 。
(7)检查来自Ping的错误,以防连接失败 。
(8)Ping如果连接成功,则打印一条消息 。
文件的顶部现在应该如下所示:
3、保存 main.go 。
1、开始跟踪 MySQL 驱动程序模块作为依赖项 。
使用go get 添加 github.com/go-sql-driver/mysql 模块作为您自己模块的依赖项 。使用点参数表示“获取当前目录中代码的依赖项” 。
2、在命令提示符下,设置Go 程序使用的DBUSER和DBPASS环境变量 。
在 Linux 或 Mac 上:
在 Windows 上:
3、在包含 main.go 的目录中的命令行中,通过键入go run来运行代码 。
连接成功了!
接下来,您将查询一些数据 。
GO语言(二十五):管理依赖项(上)-当您的代码使用外部包时,这些包(作为模块分发)成为依赖项 。随着时间的推移,您可能需要升级或更换它们 。Go 提供了依赖管理工具,可帮助您在合并外部依赖项时确保 Go 应用程序的安全 。
本主题介绍如何执行任务以管理您在代码中承担的依赖项 。您可以使用 Go 工具执行其中的大部分操作 。本主题还介绍了如何执行其他一些您可能会觉得有用的依赖相关任务 。
您可以通过 Go 工具获取和使用有用的包 。在 pkg.go.dev 上,您可以搜索您可能觉得有用的包,然后使用go命令将这些包导入您自己的代码中以调用它们的功能 。
下面列出了最常见的依赖项管理步骤 。
在 Go 中,您将依赖项作为包含您导入的包的模块来管理 。此过程由以下机构支持:
您可以搜索pkg.go.dev以查找具有您可能觉得有用的功能的软件包 。
找到要在代码中使用的包后,在页面顶部找到包路径,然后单击复制路径按钮将路径复制到剪贴板 。在您自己的代码中,将路径粘贴到导入语句中,如下例所示:
在您的代码导入包后,启用依赖项跟踪并获取包的代码进行编译 。
要跟踪和管理您添加的依赖项,您首先要将代码放入其自己的模块中 。这会在源代码树的根目录创建一个 go.mod 文件 。您添加的依赖项将列在该文件中 。
要将您的代码添加到它自己的模块中,请使用 go mod init命令 。例如 , 从命令行切换到代码的根目录,然后按照以下示例运行命令:
该go mod init命令的参数是您的模块的模块路径 。如果可能 , 模块路径应该是源代码的存储库位置 。
如果一开始您不知道模块的最终存储库位置,请使用安全的替代品 。这可能是您拥有的域的名称或您控制的另一个名称(例如您的公司名称),以及来自模块名称或源目录的路径 。
当您使用 Go 工具管理依赖项时,这些工具会更新 go.mod 文件,以便它维护您的依赖项的当前列表 。
添加依赖项时,Go 工具还会创建一个 go.sum 文件,其中包含您所依赖的模块的校验和 。Go 使用它来验证下载的模块文件的完整性,特别是对于在您的项目上工作的其他开发人员 。
在代码中包含存储库中的 go.mod 和 go.sum 文件 。
当您运行go mod init创建用于跟踪依赖项的模块时,您指定一个模块路径作为模块的名称 。模块路径成为模块中包的导入路径前缀 。一定要指定一个不会与其他模块的模块路径冲突的模块路径 。
至少,一个模块路径只需要表明它的来源,例如公司或作者或所有者名称 。但是路径也可能更能描述模块是什么或做什么 。
模块路径通常采用以下形式:
1、Go 工具可以在其中找到模块源代码的存储库的位置 。
例如,它可能是github.com/ /.
如果您认为您可能会发布模块供其他人使用,请使用此最佳实践 。
2、一个你控制的名字 。
如果您不使用存储库名称,请务必选择一个您确信不会被其他人使用的前缀 。一个不错的选择是您公司的名称 。避免使用常用术语,例如widgets、utilities或 app 。
Go 保证以下字符串不会在包名称中使用 。
1、test– 您可以将test用作模块路径前缀以便代码用于在另一个模块中本地测试功能进行测试 。
使用test作为模块路径前缀是测试的一部分 。例如,您的测试本身可能会运行go mod init test,然后以某种特定方式设置该模块 , 以便使用 Go 源代码分析工具进行测试 。
2、example– 在某些 Go 文档中用作模块路径前缀,例如在创建模块以跟踪依赖关系的教程中 。
请注意,Go 文档还用于example.com说明示例何时可能是已发布的模块 。
go语言可以做什么1、服务器编程:以前你如果使用C或者C做的那些事情,用Go来做很合适 , 例如处理日志、数据打包、虚拟机处理、文件系统等 。
2、分布式系统、数据库代理器、中间件:例如Etcd 。
3、网络编程:这一块目前应用最广,包括Web应用、API应用、下载应用,而且Go内置的net/http包基本上把我们平常用到的网络功能都实现了 。
4、开发云平台:目前国外很多云平台在采用Go开发,我们所熟知的七牛云、华为云等等都有使用Go进行开发并且开源的成型的产品 。
5、区块链:目前有一种说法 , 技术从业人员把Go语言称作为区块链行业的开发语言 。如果大家学习区块链技术的话,就会发现现在有很多很多的区块链的系统和应用都是采用Go进行开发的,比如ehtereum是目前知名度最大的公链 , 再比如fabric是目前最知名的联盟链,两者都有go语言的版本,且go-ehtereum还是以太坊官方推荐的版本 。
自1.0版发布以来,go语言引起了众多开发者的关注,并得到了广泛的应用 。go语言简单、高效、并发的特点吸引了许多传统的语言开发人员,其数量也在不断增加 。
使用 Go 语言开发的开源项目非常多 。早期的 Go 语言开源项目只是通过 Go 语言与传统项目进行C语言库绑定实现,例如 Qt、Sqlite 等 。
后期的很多项目都使用 Go 语言进行重新原生实现,这个过程相对于其他语言要简单一些,这也促成了大量使用 Go 语言原生开发项目的出现 。
关于go语言数据库管理工具和go语言类库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读