![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GO语言
文章平均质量分 66
奔跑者runner
you want something,just go get it
展开
-
Go语言学习二 语言结构 基础语法 数据类型
Go 语言结构由 youj 创建, 最后一次修改 2015-09-08Go 语言结构在我们开始学习 GO 编程语言的基础构建模块前,让我们先来了解 Go 语言最简单程序的结构。Go Hello World 实例Go 语言的基础组成有以下几个部分:包声明引入包函数变量语句 & 表达式注释接下来让我们来看下简单的代码,该代码输出了"Hello World!":package mainimp...原创 2018-04-16 16:05:34 · 210 阅读 · 0 评论 -
GoLang Web应用 五 Protobuf语法
Protobuf语法gRPC推荐使用proto3,本节只介绍常用语法,更多高级使用姿势请参考官方文档Message定义一个message类型定义描述了一个请求或相应的消息格式,可以包含多种类型字段。例如定义一个搜索请求的消息格式,每个请求包含查询字符串、页码、每页数目。syntax = "proto3";message SearchRequest { string query = 1;...转载 2018-05-02 14:51:43 · 1093 阅读 · 0 评论 -
GoLang Web应用六 gRPC认证
Golang gRPC实践 连载四 gRPC认证gRPC 默认提供了两种认证方式:基于SSL/TLS认证方式远程调用认证方式两种方式可以混合使用TLS认证示例这里直接扩展hello项目,实现TLS认证机制首先需要准备证书,在hello目录新建keys目录用于存放证书文件。证书制作制作私钥 (.key)# Key considerations for algorithm "RSA" ≥ 2048-b...转载 2018-05-02 15:12:07 · 1047 阅读 · 0 评论 -
Go语言学习八 Go语言数组
Go 语言数组Go 语言数组Go 语言提供了数组类型的数据结构。数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0], numbers[1] ..., numbers[99]更加方便且易于扩展。数组元素可以通过索...原创 2018-04-20 18:23:28 · 214 阅读 · 0 评论 -
Go语言学习九 Go语言指针
Go 语言指针Go 语言指针Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。接下来让我们来一步步学习 Go 语言指针。我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。以下实例演示了变量在内存中地址:package mainimport "fmt"func main...原创 2018-04-20 18:25:44 · 269 阅读 · 0 评论 -
Golang Web应用六 拦截器 Interceptor
Interceptorgrpc服务端提供了interceptor功能,可以在服务端接收到请求时优先对请求中的数据做一些处理后再转交给指定的服务处理并响应,功能类似middleware,很适合在这里处理验证、日志等流程。在自定义Token认证的示例中,认证信息是由每个服务中的方法处理并认证的,如果有大量的接口方法,这种姿势就太蛋疼了,每个接口实现都要先处理认证信息。这个时候interceptor就站...转载 2018-05-03 10:28:20 · 3751 阅读 · 1 评论 -
Go语言学习十 go语言结构体
Go 语言结构体Go 语言结构体Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性:Title :标题Author : 作者Subject:学科ID:书籍ID定义结构体结构体定义需要使用 type 和 struct 语句。struct 语句...原创 2018-04-21 20:59:22 · 125 阅读 · 0 评论 -
Go语言学习十一 go语言切片
Go 语言切片(Slice)Go 语言切片(Slice)Go 语言切片是对数组的抽象。Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。定义切片你可以声明一个未指定大小的数组来定义切片:var identifier []type切片不需要说明长度。或...原创 2018-04-21 23:00:51 · 137 阅读 · 0 评论 -
GoLang Web应用三 gRPC介绍与安装
gRPC介绍与安装A high performance, open source, general RPC framework that puts mobile and HTTP/2 first. ——gRPC WebsitegRPC 是一个高性能、开源、通用的RPC框架,由Google推出,基于HTTP/2协议标准设计开发,默认采用Protocol Buffers数据序列化协议,支持多种开发语言...转载 2018-04-27 11:10:37 · 850 阅读 · 0 评论 -
Golang web应用二 使用 protobuf 的教程
golang 使用 protobuf 的教程1、下载protobuf的编译器protoc地址:1https://github.com/google/protobuf/releaseswindow: 下载: protoc-3.3.0-win32.zip 解压,把bin目录下的protoc.exe复制到GOPATH/bin下,GOPATH/bin加入环境变量。 当然也可放在其他目录,...转载 2018-04-23 15:52:47 · 417 阅读 · 1 评论 -
Go语言学习一 基础语法
例子Packages.go:package mainimport ( "fmt" "math/rand")func add(x int, y int) int { return x + y}func main() { fmt.Println("My favorite number is", rand.Intn(10)) fmt.Println...原创 2018-04-13 15:14:19 · 143 阅读 · 0 评论 -
Go语言学习三 语言变量 常量 运算符
Go 语言变量由 youj 创建,路飞 最后一次修改 2015-09-13Go 语言变量变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。Go 语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。声明变量的一般形式是使用 var 关键字:var identifier type变量声明第一种,指定变量类型,声明后若不赋值,使用默认值。var v_name...原创 2018-04-16 16:07:14 · 144 阅读 · 0 评论 -
Go语言学习四 GO语言条件语句
Go 语言条件语句由 youj 创建,路飞 最后一次修改 2015-09-14Go 语言条件语句条件语句需要开发者通过指定一个或多个条件,并通过测试条件是否为 true 来决定是否执行指定语句,并在条件为 false 的情况在执行另外的语句。下图展示了程序语言中条件语句的结构:Go 语言提供了以下几种条件判断语句:语句描述if 语句if 语句 由一个布尔表达式后紧跟一个或多个语句组成。if...e...原创 2018-04-16 16:38:16 · 227 阅读 · 0 评论 -
Go语言学习五 go的循环结构 chan range
Go 语言循环语句Go 语言循环语句在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句:循环类型描述for 循环重复执行语句块循环嵌套在 for 循环中嵌套一个或多个 for 循环循环控制语句循环控制语句可以控制循环体内语句的执行过程。GO 语言支持以下几种循环控制语句:控制语句描述brea...原创 2018-04-17 09:52:56 · 5133 阅读 · 0 评论 -
go语言web框架beego建立项目基础一
go语言的相关开源框架,有很多,相对用的比较多的go语言web框架就是beego了,今天研究了一下利用beego框架建立项目。在这里做一个记录,供大家参考一 go语言的安装1. Go 语言 SDK 安装包下载和安装最新稳定版 1.5.3 安装包 go1.5.3.windows-amd64.msi下载地址 https://golang.org/dl/,大小约 69 MB(作者上传了一份该版本安装包到...原创 2018-04-22 19:15:09 · 1216 阅读 · 0 评论 -
Windows 平台下 Go 语言的安装和环境变量设置
1. Go 语言 SDK 安装包下载和安装最新稳定版 1.5.3 安装包 go1.5.3.windows-amd64.msi下载地址 https://golang.org/dl/,大小约 69 MB(作者上传了一份该版本安装包到 CSDN 资源,嫌国外网速慢可以去下载:http://download.csdn.net/detail/defonds/9408855),下载之后直接运行安装,安装路径就...原创 2018-04-13 09:14:19 · 218 阅读 · 0 评论 -
Go语言学习十二 Go 语言Map(集合)
Go 语言Map(集合)Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。定义 Map可以使用内建函数 make 也可以使用 map 关键字来定义 Map:/* 声明变量,...原创 2018-04-22 21:53:38 · 105 阅读 · 0 评论 -
Go语言学习六 Go函数 及变量作用域
Go 语言函数Go 语言函数函数是基本的代码块,用于执行一个任务。Go 语言最少有个 main() 函数。你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返回类型,和参数。Go 语言标准库提供了多种可动用的内置的函数。例如,len() 函数可以接受不同类型参数并返回该类型的长度。如果我们传入的是字符串则返回字符串的长度,如果传入的是数字,则返回数组中...原创 2018-04-18 23:24:00 · 333 阅读 · 0 评论 -
Go语言学习七 变量作用域
接上一篇 Go语言学习六Go 语言变量作用域作用域为已声明标识符所表示的常量、类型、变量、函数或包在源代码中的作用范围。Go 语言中变量可以在三个地方声明:函数内定义的变量称为局部变量函数外定义的变量称为全局变量函数定义中的变量称为形式参数接下来让我们具体了解局部变量、全局变量和形式参数。局部变量在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。以下实...原创 2018-04-18 23:27:36 · 102 阅读 · 0 评论 -
Golang Web应用四 gRPC实践--hello gRPC
Hello gRPC按照惯例,这里从一个Hello项目开始,本项目定义了一个Hello Service,客户端发送包含字符串名字的请求,服务端返回Hello消息。流程:编写.proto描述文件编译生成.pb.go文件服务端实现约定的接口并提供服务客户端按照约定调用方法请求服务项目目录:$GOPATH/src/grpc-go-practice/example/|—— hello/ |—...转载 2018-04-27 15:04:00 · 174 阅读 · 0 评论