《技术学习之Golang基础学习》目录

本系列文章均为学习过程中记录的笔记,欢迎和我一起来学习Go语言。

全文使用环境如下:

  • Go语言版本:1.14
  • 操作系统:deepin
  • 使用工具:Goland开发工具

前言:

这几年一直在学习各种各样的语言、工具,一直没有很好的沉淀下来,因此特从这次Go语言的学习进行开始进行整理汇总。方便自己、方便大家一起学习。
本系列文章是我在学习Golang语言过程中进行整理汇总,编写给大家进行分享,有和我一样想要学习或正在学习Go语言的可以进行参考,本系列中所使用的代码均在结尾处附了相关的地址,有需要的可以进行查看。
本系列文章适合有一定的其他语言基础的小伙伴进行查看学习,对于零基础学习的可能稍微有些地方会讲不到,我在编写过程中也尽量让大家都能看明白怎么回事。

Go语言追溯历史

Go语言于2009年正式发布,Go语言又称为Golang,由Google公司开发的一种编程语言。
其主要特性在于部署简单、并发好(协程)、语言设计简单编写方便、保留指针等。
Go语言为编译型语言,目前 Docker、Go-Ethereum、Thrraform 和 Kubernetes均为Go语言发开。
Go语言相关程序编写主要以下三个步骤:

  • 1、创建编写Go程序文件
  • 2、使用Go build编译Go程序,生成执行文件
  • 3、执行编译后的执行程序。

下面我们进入正题,本系列学习笔记会统一汇总至下面的主目录中。所有文章都会伴随整个学习过程不定时更新。

主目录:

阅读更多

附1 Go Get 私有仓库 常见错误汇总

本系列文章均为学习过程中记录的笔记,欢迎和我一起来学习Go语言。

全文使用环境如下:

  • Go语言版本:1.14
  • 操作系统:deepin
  • 使用工具:Goland开发工具

我在日常编写项目时总是喜欢使用自己的公共工具组件,go语言1.11版本以后增加了mod功能,这就可以将自己的公共组件直接从仓库里面拉取下来了,但是拉取的过程注定是存在天坑的,以下就是我在使用该功能时汇总的一些常见错误和解决方案,希望能给大家带来一些帮助。

###执行go get gitee.com/xxx/xxxxxx.git常见错误汇总

错误1

1
2
3
status 128:
fatal: unable to connect to gitee.com:
gitee.com[0: 212.64.62.174]: errno=No such file or directory
造成原因:

需要用https才能读到数据

解决方案:
阅读更多

二、Go语言开发环境安装与编写第一个Hello World

本系列文章均为学习过程中记录的笔记,欢迎和我一起来学习Go语言。

全文使用环境如下:

  • Go语言版本:1.14
  • 操作系统:deepin
  • 使用工具:Goland开发工具

Go语言追溯历史

Go语言2009年正式发布,Go语言又称为Golang,由Google公司开发的一种编程语言。
其主要特性在于部署简单、并发好(协程)、语言设计简单编写方便、保留指针等。
Go语言为编译型语言,目前 Docker、Go-Ethereum、Thrraform 和 Kubernetes均为Go语言发开。
Go语言编写遵循以下三个步骤:
1、创建编写Go程序文件
2、使用Go build编译Go程序,生成执行文件
3、执行编译后的执行程序。

下面我们开始正式编写作为程序员本身的最重要的一个程序,HelloWorld

第一步,搭建环境

1、在deepin中安装Go语言相关开发环境还是比较简单的,基本上都是tar.gz压缩包,首先我们到Go官网下载基础包,这里我们下载的是Linux版本。
https://golang.google.cn/dl/
Go下载截图.png

2、将下载好的压缩包解压缩到你需要安装的目录中,这里我安装在/usr/local目录,参考的是官方安装文档

1
tar -C /usr/local -xzf /home/zhangyc/Downloads/go1.13.6.linux-amd64.tar.gz
阅读更多

三、Go语言基础结构解析

本系列文章均为学习过程中记录的笔记,欢迎和我一起来学习Go语言。

全文使用环境如下:

  • Go语言版本:1.14
  • 操作系统:deepin
  • 使用工具:Goland开发工具

本篇我们进行学习Go语言项目基础结构

我们在上一节时编写了第一个Hello World
image.png
这块代码我们从上向下来看。
第一行是package main,这里是指的包的概念,在go语言中包是代表这个文件夹中所有go代码的目录,这里是main,在Go语言程序中一个可独立执行的程序必须需要有mian这个包,即package main是我们整个程序的入口。而我们日常编写时会新建各种各样用途的go文件,我们通常使用不同的文件夹来区分,这时不同文件夹中的文件我们统一采用一种包的命名方式,便于我们在其他地方使用。详细使用方式将在后续的代码编写过程中详细讲解。

包的命名规范

在我们日常编写包名时应使用简洁、富有含义的名称,例如我们这是一个工具包,则使用package util

导入其他包

继续向下看代码,我们可以看到

1
2
3
4
import (
"fmt"
"net/http"
)
阅读更多

一、Go语言由来与关键时间线

本系列文章均为学习过程中记录的笔记,欢迎和我一起来学习Go语言。

全文使用环境如下:

  • Go语言版本:1.14
  • 操作系统:deepin
  • 使用工具:Goland开发工具

Go语言,又称作Golang,是Google在2009年11月开源的开发语言。是一门静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

Go是罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。

1、Go于2009年11月正式宣布推出,成为开放源代码项目。
2、在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
3、2015年8月 go1.5发布,这个版本被认为是历史性的。完全移除C语言部分,使用GO编译GO,少量代码使用汇编实现。另外,他们请来了内存管理方面的权威专家Rick Hudson,对GC进行了重新设计,支持并发GC,解决了一直以来广为诟病的GC时延(STW)问题。并且在此后的版本中,又对GC做了更进一步的优化。
3、到go1.8时,相同业务场景下的GC时延已经可以从go1.1的数秒,控制在1ms以内。GC问题的解决,可以说GO语言在服务端开发方面,几乎抹平了所有的弱点。
4、在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。
5、在2018年8月份,发布的Go.1.11版本启用了module模块概念,更加方便生产开发中使用管理了。

本文声明:

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

文章中凡是涉及的代码均在Gitee与GitHub上了,有需要的可以通过下面的地址下载。
[图片上传失败…(image-b07301-1588087727897)]

[图片上传失败…(image-8d99e4-1588087727897)]

阅读更多