Golang
个人自学中,希望跟我一样的人一起学习交流
yh1611586847
这个作者很懒,什么都没留下…
展开
-
RPC入门、创建中间件
1.简介gRpc支持C++、PHP、Java、Golang多个语言开发gRpc仅支持Go1.5以上的版本2. 环境安装本人环境go:1.14protobuf:3.13(proto3和proto2还是有区别的)2.1gRpc安装github安装gRpc文档直达电梯官网安装命令:go get -u google.golang.org/grpc-u 更新到最新版本 -v 显示详细更新信息如果这种安装方式不行,反正代码在github上都有,就从github...原创 2020-10-23 15:53:12 · 346 阅读 · 0 评论 -
安装 Go的三种安装方式
Go的三种安装方式Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。 Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。推荐这种方式 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get和wget原创 2020-09-21 15:43:32 · 2679 阅读 · 0 评论 -
golang 第二章总结
第二章 总结这一章我们主要介绍了Go语言的一些语法,通过语法我们可以发现Go是多么的简单,只有二十五个关键字。让我们再来回顾一下这些关键字都是用来干什么的。break default func interface selectcase defer go map structchan else goto package switchconst fallthrough i原创 2020-06-06 15:32:39 · 146 阅读 · 0 评论 -
Golang 并发机制
Golang 并发有人把Go比作21世纪的C语言,第一是因为Go语言设计简单,第二,21世纪最重要的就是并行程序设计,而Go从语言层面就支持了并行。goroutinegoroutine是Go并行设计的核心。goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩。也正因为如此,可同时运行成千上万.原创 2020-06-06 15:29:53 · 572 阅读 · 0 评论 -
Golang语言 interface
interfaceGo语言里面设计最精妙的应该算interface,它让面向对象,内容组织实现非常的方便,当你看完这一章,你就会被interface的巧妙设计所折服。什么是interface简单的说,interface是一组method签名的组合,我们通过interface来定义对象的一组行为。我们前面一章最后一个例子中Student和Employee都能SayHi,虽然他们的内部实现不一样,但是那不重要,重要的是他们都能say hi让我们来继续做更多的扩展,Student和Emp.原创 2020-06-06 15:22:47 · 195 阅读 · 0 评论 -
Golang语言面向对象【胖爹专属】
面向对象前面两章我们介绍了函数和struct,那你是否想过函数当作struct的字段一样来处理呢?今天我们就讲解一下函数的另一种形态,带有接收者的函数,我们称为methodmethod现在假设有这么一个场景,你定义了一个struct叫做长方形,你现在想要计算他的面积,那么按照我们一般的思路应该会用下面的方式来实现package mainimport "fmt"type Rectangle struct { width, height float64}func area(r原创 2020-06-06 15:08:42 · 194 阅读 · 0 评论 -
golang struct类型
struct类型Go语言中,也和C或者其他语言一样,我们可以声明新的类型,作为其它类型的属性或字段的容器。例如,我们可以创建一个自定义类型person代表一个人的实体。这个实体拥有属性:姓名和年龄。这样的类型我们称之struct。如下代码所示:type person struct { name string age int}看到了吗?声明一个struct如此简单,上面的类型包含有两个字段一个string类型的字段name,用来保存用户名称这个属性 一个int类型的字段age,用来保原创 2020-06-06 14:58:10 · 597 阅读 · 0 评论 -
Golang流程和函数
Golang流程和函数这小节我们要介绍Go里面的流程控制以及函数操作。流程控制流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑。Go中流程控制分三大类:条件判断,循环控制和无条件跳转。ifif也许是各种编程语言中最常见的了,它的语法概括起来就是:如果满足条件就做某事,否则做另一件事。Go里面if条件判断语句中不需要括号,如下代码所示if x > 10 { fmt.Println("x is greater tha..原创 2020-06-06 14:48:44 · 199 阅读 · 0 评论 -
Golang语言语法基础
Go基础这小节我们将要介绍如何定义变量、常量、Go内置类型以及Go程序设计中的一些技巧。定义变量Go语言里面定义变量有多种方式。使用var关键字是Go最基本的定义变量方式,与C语言不同的是Go把变量类型放在变量名后面://定义一个名称为“variableName”,类型为"type"的变量var variableName type定义多个变量//定义三个类型都是“type”的变量var vname1, vname2, vname3 type定义变量并初始化值//原创 2020-06-02 18:08:13 · 503 阅读 · 0 评论 -
hello world Golang
你好,Go在开始编写应用之前,我们先从最基本的程序开始。就像你造房子之前不知道什么是地基一样,编写程序也不知道如何开始。因此,在本节中,我们要学习用最基本的语法让Go程序运行起来。程序这就像一个传统,在学习大部分语言之前,你先学会如何编写一个可以输出hello world的程序。准备好了吗?Let's Go!package mainimport "fmt"func main() { fmt.Printf("Hello, world or 你好,世界 or καλημ ́ρα原创 2020-06-02 17:35:07 · 152 阅读 · 0 评论 -
Golang语言基础
Go语言基础Go是一门类似C的编译型语言,但是它的编译速度非常快。这门语言的关键字总共也就二十五个,比英文字母还少一个,这对于我们的学习来说就简单了很多。先让我们看一眼这些关键字都长什么样:break default func interface selectcase defer go map structchan else goto package switchconst原创 2020-06-02 17:23:20 · 250 阅读 · 0 评论 -
Go第一阶段总结总结
总结这一章中我们主要介绍了如何安装Go,Go可以通过三种方式安装:源码安装、标准包安装、第三方工具安装,安装之后我们需要配置我们的开发环境,然后介绍了如何配置本地的$GOPATH,通过设置$GOPATH之后读者就可以创建项目,接着介绍了如何来进行项目编译、应用安装等问题,这些需要用到很多Go命令,所以接着就介绍了一些Go的常用命令工具,包括编译、安装、格式化、测试等命令,最后介绍了Go的开发工具,目前有很多Go的开发工具:LiteIDE、Sublime、VSCode、Atom、Goland、VIM、Em原创 2020-06-02 17:19:39 · 226 阅读 · 0 评论 -
Go开发工具
Go开发工具本节我将介绍几个开发工具,它们都具有自动化提示,自动化fmt功能。因为它们都是跨平台的,所以安装步骤之类的都是通用的。LiteIDELiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由visualfc编写。图1.4 LiteIDE主界面LiteIDE主要特点:支持主流操作系统 Windows Linux MacOS X Go编译环境管理和切换 管理和切换多个Go编译环境 支持Go语言交叉编译 与Go标准一致的.原创 2020-06-02 17:13:41 · 1910 阅读 · 1 评论 -
golang学习目录
1.Go环境配置 1.1.安装Go 1.2.GOPATH 与工作空间 1.3.Go 命令 1.4.Go开发工具 1.5.小结 2.Go语言基础 2.1.你好,Go 2.2.Go基础 2.3.流程和函数 2.4.struct 2.5.面向对象 2.6.interface 2.7.并发 2.8.小结 3.Web基础 3.1web工作方式 3...原创 2020-06-02 14:05:10 · 206 阅读 · 0 评论 -
GO环境配置
GO环境配置欢迎来到Go的世界,让我们开始探索吧!Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点:它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。 Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。 Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。 Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。原创 2020-06-02 14:07:58 · 142 阅读 · 0 评论 -
安装 Go
安装 GoGo的三种安装方式Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。 Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。推荐这种方式 第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的ap.原创 2020-06-02 14:30:09 · 617 阅读 · 0 评论 -
GOPATH与工作空间
GOPATH与工作空间前面我们在安装Go的时候看到需要设置GOPATH变量,Go从1.1版本到1.7必须设置这个变量,而且不能和Go的安装目录一样,这个目录用来存放Go源码,Go的可运行文件,以及相应的编译之后的包文件。所以这个目录下面有三个子目录:src、bin、pkg从go 1.8开始,GOPATH环境变量现在有一个默认值,如果它没有被设置。 它在Unix上默认为$HOME/go,在Windows上默认为%USERPROFILE%/go。GOPATH设置go 命令依赖一个重要的环境.原创 2020-06-02 14:49:13 · 423 阅读 · 0 评论 -
Golang 命令
Go 命令Go语言自带有一套完整的命令操作工具,你可以通过在命令行中执行go来查看它们:图1.3 Go命令显示详细的信息这些命令对于我们平时编写的代码非常有用,接下来就让我们了解一些常用的命令。go build这个命令主要用于编译代码。在包的编译过程中,若有必要,会同时编译与之相关联的包。 如果是普通包,就像我们在1.2节中编写的mymath包那样,当你执行go build之后,它不会产生任何文件。如果你需要在$GOPATH/pkg下生成相应的文件,那就得执行go ..原创 2020-06-02 15:08:26 · 247 阅读 · 0 评论