go语言写自动提交 go语言自举

GO语言有哪些优势?怎样入门?1、学习曲线
它包含了类C语法、GC内置和工程工具 。这一点非常重要,因为Go语言容易学习 , 所以一个普通的大学生花一个星期就能写出来可以上手的、高性能的应用 。在国内大家都追求快,这也是为什么国内Go流行的原因之一 。
2、效率
Go拥有接近C的运行效率和接近PHP的开发效率 , 这就很有利的支撑了上面大家追求快速的需求 。
3、出身名门、血统纯正
之所以说Go语言出身名门,是因为我们知道Go语言出自Google公司,这个公司在业界的知名度和实力自然不用多说 。Google公司聚集了一批牛人 , 在各种编程语言称雄争霸的局面下推出新的编程语言,自然有它的战略考虑 。而且从Go语言的发展态势来看,Google对它这个新的宠儿还是很看重的,Go自然有一个良好的发展前途 。我们看看Go语言的主要创造者,血统纯正这点就可见端倪了 。
4、自由高效:组合的思想、无侵入式的接口
Go语言可以说是开发效率和运行效率二者的完美融合 , 天生的并发编程支持 。Go语言支持当前所有的编程范式,包括过程式编程、面向对象编程以及函数式编程 。程序员们可以各取所需、自由组合、想怎么玩就怎么玩 。
5、强大的标准库
这包括互联网应用、系统编程和网络编程 。Go里面的标准库基本上已经是非常稳定了,特别是我这里提到的三个 , 网络层、系统层的库非常实用 。
6、部署方便:二进制文件、Copy部署
我相信这一点是很多人选择Go的最大理由,因为部署太方便了,所以现在也有很多人用Go开发运维程序 。
7、简单的并发
它包含了降低心智的并发和简易的数据同步,我觉得这是Go最大的特色 。之所以写正确的并发、容错和可扩展的程序如此之难,是因为我们用了错误的工具和错误的抽象 , Go可以说这一块做的相当简单 。
8、稳定性
Go拥有强大的编译检查、严格的编码规范和完整的软件生命周期工具,具有很强的稳定性,稳定压倒一切 。那么为什么Go相比于其他程序会更稳定呢?这是因为Go提供了软件生命周期(开发、测试、部署、维护等等)的各个环节的工具,如go
tool、gofmt、go test 。
如何实现一个页面多个没有id和name的submit提交按钮提交不同功能?不要在模块里建立宏,直接按alt F11,在左边excel对象里面双击thisworkbook;
在右侧的窗口输入:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
ThisWorkbook.Close savechanges:=True
End Sub
点关闭时不会提示 , 并且在关闭时会自动保存 。
如果不需要自动保存,那么把第三行最后的true改成false就可以了 。
关闭VBE窗口,保存一遍文件,然后就可以正常使用了 。
如何配置go语言开发环境1.1 Go 安装
Go的三种安装方式
Go有多种安装方式 , 你可以选择自己喜欢的 。这里go语言写自动提交我们介绍三种最常见的安装方式:
Go源码安装:这是一种标准的软件安装方式 。对于经常使用Unix类系统的用户,尤其对于开发者来说 , 从源码安装可以自己定制 。
Go标准包安装:Go提供go语言写自动提交了方便的安装包 , 支持Windows、Linux、Mac等系统 。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了 。**推荐这种方式**
第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等 。这种安装方式适合那些熟悉相应系统的用户 。
最后 , 如果你想在同一个系统中安装多个版本的Go , 你可以参考第三方工具GVM,这是目前在这方面做得最好的工具 , 除非你知道怎么处理 。
Go源码安装
在Go的源代码中,有些部分是用Plan 9 C和ATT汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具 。
在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具 。
在类Unix系统中,需要安装gcc等工具 。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc
libc6-dev来安装编译工具 。
在Windows系统中,你需要安装MinGW , 然后通过MinGW安装gcc,并设置相应的环境变量 。
你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:
cd go/src
./all.bash
运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功 。
上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc 。
如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin
如果你是写入文件的,记得执行bash .bashrc或者bash
.zshrc使得设置立马生效 。
如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量 。
当你设置完毕之后在命令行里面输入go , 看到如下图片即说明你已经安装成功
图1.1 源码安装之后执行Go命令的图
如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录 。
关于上面的GOPATH将在下面小节详细讲解
Go标准包安装
Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go
(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量 。
如何判断自己的操作系统是32位还是64位?
我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定自己的系统类型 。
Windows系统用户请按Win R运行cmd , 输入systeminfo后回车 , 稍等片刻,会出现一些系统信息 。在“系统类型”一行中,若显示“x64-based
PC”,即为64位系统;若显示“X86-based PC”,则为32位系统 。
Mac系统用户建议直接使用64位的,因为Go所支持的Mac OS X版本已经不支持纯32位处理器了 。
Linux系统用户可通过在Terminal中执行命令arch(即uname
-m)来查看系统信息:
64位系统显示
x86_64
32位系统显示
i386
Mac 安装
访问下载地址 , 32位系统下载go1.4.2.darwin-386-osx10.8.pkg,64位系统下载go1.4.2.darwin-amd64-osx10.8.pkg,双击下载文件,一路默认安装点击下一步,这个时候go已经安装到你的系统中,默认已经在PATH中增加了相应的~/go/bin,这个时候打开终端,输入go
看到类似上面源码安装成功的图片说明已经安装成功
如果出现go的Usage信息 , 那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录 。
Linux 安装
访问下载地址,32位系统下载go1.4.2.linux-386.tar.gz,64位系统下载go1.4.2.linux-amd64.tar.gz,
假定你想要安装Go的目录为 $GO_INSTALL_DIR,后面替换为相应的目录路径 。
解压缩tar.gz包到安装目录下:tar zxvf go1.4.2.linux-amd64.tar.gz -C
$GO_INSTALL_DIR 。
设置PATH,export PATH=$PATH:$GO_INSTALL_DIR/go/bin
然后执行go
图1.2 Linux系统下安装成功之后执行go显示的信息
如果出现go的Usage信息,那么说明go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了go的安装目录 。
Windows 安装
访问Google Code 下载页,32
位请选择名称中包含 windows-386 的 msi 安装包,64 位请选择名称中包含 windows-amd64 的 。下载好后运行,不要修改默认安装目录
C:\Go\,若安装到其他位置会导致不能执行自己所编写的 Go 代码 。安装完成后默认会在环境变量 Path 后添加 Go 安装目录下的 bin 目录
C:\Go\bin\,并添加环境变量 GOROOT,值为 Go 安装根目录 C:\Go\。
验证是否安装成功
在运行中输入 cmd 打开命令行工具,在提示符下输入 go,检查是否能看到 Usage 信息 。输入
cd %GOROOT%,看是否能进入 Go 安装目录 。若都成功,说明安装成功 。
不能的话请检查上述环境变量 Path 和 GOROOT 的值 。若不存在请卸载后重新安装,存在请重启计算机后重试以上步骤 。
第三方工具安装
GVM
gvm是第三方开发的Go多版本管理工具 , 类似ruby里面的rvm工具 。使用起来相当的方便,安装gvm使用如下命令:
bash(curl -s -S -L )
安装完成后我们就可以安装go了:
gvm install go1.4.2
gvm use go1.4.2
也可以使用下面的命令,省去每次调用gvm use的麻烦: gvm use go1.4.2 --default
执行完上面的命令之后GOPATH、GOROOT等环境变量会自动设置好,这样就可以直接使用了 。
apt-get
Ubuntu是目前使用最多的Linux桌面系统 , 使用apt-get命令来管理软件包 , 我们可以通过下面的命令来安装Go,为了以后方便,应该把
git mercurial 也安装上:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-stable git-core mercurial
homebrew
homebrew是Mac系统下面目前使用最多的管理软件的工具,目前已支持Go , 可以通过命令直接安装Go,为了以后方便,应该把
git mercurial 也安装上:
brew updatebrew upgrade
brew install go
brew install git
brew install mercurial
GO语言(十一):开始使用多模块工作区本教程介绍 Go 中多模块工作区的基础知识 。使用多模块工作区,您可以告诉 Go 命令您正在同时在多个模块中编写代码,并轻松地在这些模块中构建和运行代码 。
在本教程中,您将在共享的多模块工作区中创建两个模块,对这些模块进行更改,并在构建中查看这些更改的结果 。
本教程需要 go1.18 或更高版本 。使用go.dev/dl中的链接确保您已在 Go 1.18 或更高版本中安装了 Go。
首先,为您要编写的代码创建一个模块 。
1、打开命令提示符并切换到您的主目录 。
在 Linux 或 Mac 上:
在 Windows 上:
2、在命令提示符下,为您的代码创建一个名为工作区的目录 。
3、初始化模块
我们的示例将创建一个hello依赖于 golang.org/x/example 模块的新模块 。
创建你好模块:
使用 . 添加对 golang.org/x/example 模块的依赖项go get 。
在 hello 目录下创建 hello.go,内容如下:
现在,运行 hello 程序:
在这一步中 , 我们将创建一个go.work文件来指定模块的工作区 。
在workspace目录中,运行:
该go work init命令告诉为包含目录中模块的工作空间go创建一个文件。go.work./hello
该go命令生成一个go.work如下所示的文件:
该go.work文件的语法与go.mod相同 。
该go指令告诉 Go 应该使用哪个版本的 Go 来解释文件 。它类似于文件中的go指令go.mod。
该use指令告诉 Go在进行构建时hello目录中的模块应该是主模块 。
所以在模块的任何子目录中workspace都会被激活 。
2、运行工作区目录下的程序
在workspace目录中,运行:
Go 命令包括工作区中的所有模块作为主模块 。这允许我们在模块中引用一个包 , 即使在模块之外 。在模块或工作区之外运行go run命令会导致错误,因为该go命令不知道要使用哪些模块 。
接下来,我们将golang.org/x/example模块的本地副本添加到工作区 。然后,我们将向stringutil包中添加一个新函数,我们可以使用它来代替Reverse.
在这一步中 , 我们将下载包含该模块的 Git 存储库的副本golang.org/x/example,将其添加到工作区,然后向其中添加一个我们将从 hello 程序中使用的新函数 。
1、克隆存储库
在工作区目录中 , 运行git命令来克隆存储库:
2、将模块添加到工作区
该go work use命令将一个新模块添加到 go.work 文件中 。它现在看起来像这样:
该模块现在包括example.com/hello模块和 `golang.org/x/example 模块 。
这将允许我们使用我们将在模块副本中编写的新代码,而不是使用命令stringutil下载的模块缓存中的模块版本 。
3、添加新功能 。
我们将向golang.org/x/example/stringutil包中添加一个新函数以将字符串大写 。
将新文件夹添加到workspace/example/stringutil包含以下内容的目录:
4、修改hello程序以使用该功能 。
修改workspace/hello/hello.go的内容以包含以下内容:
从工作区目录 , 运行
Go 命令在go.work文件指定的hello目录中查找命令行中指定的example.com/hello模块,同样使用go.work文件解析导入golang.org/x/example 。
go.work可以用来代替添加replace 指令以跨多个模块工作 。
由于这两个模块在同一个工作区中 , 因此很容易在一个模块中进行更改并在另一个模块中使用它 。
现在,要正确发布这些模块,我们需要发布golang.org/x/example 模块 , 例如在v0.1.0. 这通常通过在模块的版本控制存储库上标记提交来完成 。发布完成后,我们可以增加对 golang.org/x/example模块的要求hello/go.mod:
这样 , 该go命令可以正确解析工作区之外的模块 。
利用GitHub-Actions将Hugo博客自动发布到GitHub和Gitee Pages 现在个人博客通常有比较多的选择,如果不想要自己购买服务器实现静态博客的发布,可以在、CSDN等平台建立自己的账号并发布,但是原始数据无法在本地管理;如果想要数据完全自己管理,可以使用GitHub或者Gitee Pages功能发布自己的博客 , 利用Hugo或Hexo等成熟的静态博客将md文件转换成静态网站文件进行快速发布 。本文就用来记录如何快速将博客发布到、GitHub以及Gitee Pages三个平台 。
我希望的流程当然是主要精力用在写文章,发布的流程最好完全不需要手动处理,但实际情况下手动发布博客的流程大体是:
之前有使用过Travis CI GitHub Hexo自动发布到GitHub Pages,但是GitHub的访问经常不那么靠谱,因此想着也能同步到Gitee,并且自动构建Hexo的速度受Nodejs环境部署影响,速度很慢 , 因此本次计划采用Hugo来构建网站文件,整体流程设计如下:
为了满足博客自动发布流程,首先需要在本地准备好生产环境 , 以满足快速发布,以此的复杂是为了长期的简单,因此在环境准备阶段我会把所有涉及的工具都记录下来 , 以方便大家使用以及后边自己回顾 , 环境准备包含:
Obsidian完成知识积累后,按照ZK-Project-Archive-Blog的流程发布Blog,但是Obsidian的文件相互关联,且附件如何快速复用,需要对Typora和Obsidian都进行简单的配置 , 确保后续Blog能够快速完成并发布,并且文件仍在Obsidian工程中正常显示;
Typora非常的简洁,而且可以实时预览 , 在写博客的时候经常会插入一些图片,截图后可以直接粘贴进去,图片也会自动保存在本地,这里需要注意图片的保存路径,在偏好设置里 , 设置插入图片时复制到指定路径(./resource/),这样复制的图片就会自动保存在当前文件夹下的resource文件夹里,方便后续管理与转移 。
在.ssh文件生成id_rsa和id_rsa.pub两个文件;
Hugo 是一个基于Go语言开发的静态博客框架 , 号称世界上最快的构建网站工具;
命令为: hugo new site myblog
myblog为博客的目录名,可以修改为你自己想取的名字,生成的目录如下:
由于默认主题生成的文章页面有些功能是不需要的,因此需要对themes下文件进行修改:
将config、content和themes三个目录拷贝到新创建的站点目录 , 将content下替换为文章文件即可 。
utterances 是一款基于Github Issue的Github工具,优点主要是无广告、加载快、配置简单,轻量开源 。
【go语言写自动提交 go语言自举】由于 utterances 是一款Github App,因此 安装utterances 非常简单 , 只需要授权特定repo权限给 utterances 就可以了,注意一个点:授权的这个repo必须是public的,可以选择多个repo,但是建议选择一个就可以了,也比较安全 。
这是当前最简单的配置方法,也可以在 utterances官方 查看其他配置方法 , 以及详细的配置参数说明 。
Obsidian的安装和使用可参考我的另一篇文章: Obsidian作为第二大脑工具的基本使用和配置
所有环境准备好后,终于要开始启动我们的自动化流程的实现了;
同之前步骤相同 , 将Gitee密码配置到GitHub Secrets,命名为:GITEE_PASSWORD,所有配置结果如下:
synctogitee.yml
需要绑定Gitee账号到微信公众号,否则最后一步reload pages自动部署Gitee Pages会登录失败 , 原因是需要短信验证;绑定公众号后则不需要短信验证;其他问题解决可以参考 gitee-pages-action
在Typora完成文章编写后,一键上传所有图片到Gitee图床,拷贝发布到,然后提交到GitHub repo master分支 , 即可自动部署到GitHub和Gitee Pages;
以上就是我利用GitHub-Actions将Hugo博客自动发布到GitHub和Gitee Pages,希望可以帮助大家快速构建自己的个人网站;后边我会继续完善我的第二大脑系统的构建思路和方法 。
关于go语言写自动提交和go语言自举的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读