Go
文章平均质量分 68
Go语言 区块链
令狐飞侠
笑傲江湖
展开
-
Go frame simple(6) beego
1 beego简介beego 是一个快速开发 Go 应用的 HTTP 框架,可以用来快速开发 API、Web 及后端服务等各种应用。beego github地址:https://github.com/beego/beegobee开发工具:https://github.com/beego/bee2 beego下载安装下载beego,输入命令:go get -u github.com/beego/beego/v2下载bee,输入命令:go get -u github.com/beego/b原创 2022-03-10 14:56:57 · 5713 阅读 · 0 评论 -
VSCode go 入门小结
这里介绍VSCode go 入门小结,不同的版本可能有所不同:本章的版本如下:项目Valuegov1.1.6.11VSCodev1.64.21 go安装配置下载地址:https://golang.google.cn/dl/确认安装成功:设置环境变量:$GOROOT:表示Go的安装目录。也就是上面我们解压出来的文件夹里面的go文件夹。$GOPATH:表示我们的工作空间。用来存放我们的工程目录的地方。2 Visual Studio Code安装配置2.原创 2022-03-02 14:18:12 · 492 阅读 · 0 评论 -
go v1.17.6的安装(Linux环境)
首先从https://studygolang.com/dl查看go的最新版本:**第1步:**下载 go1.17.6.linux-amd64.tar.gz。**第2步:**上传到Linux服务器后解压:tar -C ./ -zxvf go1.17.6.linux-amd64.tar.gz **第3步:**输入命令,修改环境变量:vim /etc/profile设置GOROOT(安装路径)、GOPATH(工程路径)等。#GOROOTexport GOROOT=/opt/go#GOPAT原创 2022-02-10 16:15:34 · 1617 阅读 · 0 评论 -
go-microservice-simple(2) go-Probuffer
1 Protocol buffers 简介1.1 Protocol buffers 定义Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,很适合做数据存储或 RPC 数据交换格式。它可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。1.2 Protocol buffers 特点特点:它是一种序列化格式,和 JSON,XML 类似。它是二进制的,压缩比例高,短小。序列化处理速度很快非明文传输它通过一种 proto 语原创 2022-02-09 17:41:42 · 492 阅读 · 0 评论 -
go-microservice-simple(1) RPC
1 RPC 简介RPC(Remote Rrocedure Call),远程过程调用RPC是一个通信协议,为通信程序之间携带信息数据。RPC是分布式系统中不同节点之间流行的通信方式RPC采用C/S模式,请求程序就是一个客户机,而服务提供程序就是一个服务器。Server:在服务器端,进程保持睡眠状态直到调用信息到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息。Client:客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息,获得进程结果。2 Go RPC原创 2022-02-03 10:07:57 · 1413 阅读 · 0 评论 -
go-microservice-simple(0)序
系列教程的学习总结。RPC、Protocol Buffers、gRPC、Thrift原创 2022-02-03 09:53:06 · 399 阅读 · 0 评论 -
Go frame simple(5) token认证jwt-go
1 jwt简介JSON Web Token(jwt)是一种规范,用于用户与服务器间的认证。jwt由以下三部分构成:Header:头部 (对应:Header)Claims:声明 (对应:Payload)Signature:签名 (对应:Signature)三部分的关系:tmpstr = base64(header)+base64(claims)signature = encrypt(tmpstr,secret)//最后三者用".“连接,即:token = base64(header)+原创 2021-12-09 16:13:00 · 999 阅读 · 0 评论 -
常用的go代理
GOPROXY,目前国内常用的go代理goproxy.iohttps://goproxy.io,direct七牛云https://goproxy.cn阿里云https://mirrors.aliyun.com/goproxy/原创 2021-12-07 16:43:12 · 5262 阅读 · 0 评论 -
Go frame simple(4) 日志logrus
1 logrus简介logrus功能强大,性能高效,而且具有高度灵活性,提供了自定义插件的功能.开源项目docker等都用 logrus 记录其日志。.Github地址:https://github.com/Sirupsen/logrus2 logrus安装go get安装:go get github.com/sirupsen/logrusmod引入:require github.com/sirupsen/logrus v1.8.13 logrus编程入门特性:1 完全兼容 go原创 2021-12-06 17:07:16 · 1110 阅读 · 0 评论 -
Go frame simple(3) 配置文件spf13/viper
1 Viper简介viper 配置文件解析库,支持 Yaml、Json、 TOML、HCL 等格式,读取非常的方便。Github地址::https://github.com/spf13/viper2 Viper安装Get方式安装:go get -u github.com/spf13/vipermod方式引入:require github.com/spf13/viper v1.9.03 Viper编程入门这里以Yaml文件格式为例进行说明。第1步:定义Yaml文件。这里配置信息放在r原创 2021-12-06 09:41:15 · 590 阅读 · 0 评论 -
Go frame simple(2) orm gorm
1 GORM简介ORM映射数据库和对象之间的关系.gorm是一个使用Go语言编写的ORM框架.github地址有2个大的版本:https://github.com/jinzhu/gorm V1https://github.com/go-gorm/gorm V2本章以V1版本为例进行说明。2 GORM安装Go get方式安装,输入命令:go get -u github.com/jinzhu/gormgo module方式引入依赖。require github.com/jinzhu/go原创 2021-12-03 14:57:51 · 629 阅读 · 0 评论 -
Go frame simple(1) web框架 Gin
1 Gin简介Gin是一个Golang写的web框架,具有高性能的优点,基于httprouter,提供了类似martini但更好性能的API服务。官网:https://github.com/gin-gonic/gin2 Gin安装Go get方式安装,输入命令:go get github.com/gin-gonic/gingo module方式引入依赖。require github.com/gin-gonic/gin v1.7.73 Gin编程入门Goland编辑器开发:go原创 2021-11-30 17:24:37 · 427 阅读 · 0 评论 -
Go frame simple(0) 序
系列教程的学习总结。WEB框架(如:gin,beego,Martini等),ORM(如:gorm,xorm,beego)原创 2021-11-30 15:56:35 · 196 阅读 · 0 评论 -
Go-simple(11)数据库操作
这里以常见的mysql数据库进行说明。Mysql数据库的驱动:https://github.com/go-sql-driver/mysql 支持database/sql,全部采用go写。1 数据库测试表以用户表为例:CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `user_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general原创 2021-06-25 16:23:10 · 172 阅读 · 1 评论 -
Go-simple(10)并发操作
并发是指立即处理多个任务的能力。并行是指同时处理多个任务。Go 使用 Go 协程(Goroutine) 和信道(Channel)来处理并发。1 goroutine进程:内核级别,多个线程线程:内核级别,有内核调度,有CPU时间片的概念,进行抢占式调度。协程,用户级别,是应用层模拟的线程,协作式调度。需要协程自己主动把控制权转让出去,其他协程才能被执行到。Goroutine 本质是协程,在runtime、系统调用等方面进行了封装和处理。go 函数或函数名 启动 goroutine如:go原创 2021-06-19 10:55:31 · 193 阅读 · 0 评论 -
Go-simple(9)文件操作
文件相关的包import "os"1 创建文件创建文件的相关函数如下://根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返回的文件对象是可读写的。func Create(name string) (file *File, err Error)//根据文件描述符创建相应的文件,返回一个文件对象func NewFile(fd uintptr, name string) *File测试代码如下://创建文件func TestCreateFile() {原创 2021-06-17 17:08:57 · 140 阅读 · 1 评论 -
Go-simple(8)面向对象
1 结构体struct首先定义结构体,代码如下:type User struct { id float32 // id name string // 姓名 password string // 密码 sex int // 性别}创建匿名结构体,代码如下:fmt.Print(User{1, "令狐冲", "123456", 1})输出:声明和初始化结构体,代码如下:// 声明结构体var user User// 修改结构体成员use原创 2020-12-23 11:24:34 · 140 阅读 · 0 评论 -
Go-simple(7)基础教程-逻辑控制
1 If逻辑控制首先定义一个函数,实现年龄结构的判断,代码如下:func ifPrint(age int8) { if (age > 0 && age <= 6) { fmt.Print("婴幼儿!") } else if (age >= 7 && age <= 12) { fmt.Print("少儿!") } else if (age >= 13 && age <= 17) { fmt.Print("原创 2020-12-23 10:22:55 · 186 阅读 · 0 评论 -
Go-simple(6)基础教程-逻辑运算
1 算术运算符测试算术运算符的代码如下:var a, b int = 1, 2var c intc = a + bfmt.Print("a+b =", c)fmt.Print("\n")fmt.Printf("a+b =%d", c)输出:2 关系运算符测试关系运算符的代码如下:var a, b int = 1, 2if (a > b) { fmt.Print("a 大于 b")}else{ fmt.Print("a 小于等于 b")}输出:3 位运算符测原创 2020-12-23 10:09:59 · 171 阅读 · 0 评论 -
Go-simple(5)基础教程-函数
1 函数调用首先定义一个函数,代码如下:/*求长方形的面积 */func getArea(a, b float32) float32 { var area float32 area = a * b return area}调用上面的函数,代码如下:fmt.Print("调用函数的使用:\n")var x, y float32x = 5.6y = 7fmt.Println("长方形的长:", y)fmt.Println("长方形的宽:", x)fmt.Println("原创 2020-12-23 10:05:03 · 513 阅读 · 0 评论 -
Go-simple(4)基础教程-变量和常量
1 变量变量包括局部变量、全局变量、函数形式参数变量。1.1 局部变量输出局部变量,代码如下: var a, b, c int a = 5 b = 6 fmt.Printf("局部变量:%d,%d", a, b)输出:1.2 全部变量首先定义一个全局变量,代码如下://全局变量var status int = 8输出全局变量,代码如下:fmt.Printf("全局变量:%d", status)输出:当局部变量和全局变量同名时,以局部变量为准,代码如下:var原创 2020-12-23 09:58:50 · 156 阅读 · 1 评论 -
Go-simple(3)基础教程-容器类型
容器类型包括数组、切片和map。1 数组数组大小是固定的。首先定义数组,代码如下:peopleArray := [...] string{"令狐冲", "任盈盈", "东方不败"}通过长度遍历数组:fmt.Println("通过直接访问数组遍历:")var i intfor i = 0; i < 3; i++ { fmt.Println(i, peopleArray[i])}输出:通过range遍历数组:fmt.Println("通过range关键字遍历:")i =原创 2020-12-22 17:04:36 · 311 阅读 · 0 评论 -
Go-simple(2)基础教程-基本数据类型
最基本的数据类型包括布尔型、数字类型、字符串类型。1 布尔型数据布尔型定义代码如下:var b boolb = truefmt.Print("布尔bool:")fmt.Print(b)输出:2 数字型数据数字类型,定义int、float型,代码如下:var i int16i = 20fmt.Print("int:")fmt.Print(i)fmt.Print("\n")var j float32j = 50fmt.Print("float32 ",j)输出:3原创 2020-12-22 16:36:07 · 206 阅读 · 0 评论 -
Go-simple(1)入门Hello World
脚本式编程:新建文件hello_world.gopackage mainfunc main(){ println("hello","world!")}然后控制台输入:go run hello_world.goIdea编辑器运行:代码参考:https://github.com/linghufeixia/go-simple/tree/master/chapter1原创 2020-12-22 15:02:10 · 141 阅读 · 0 评论 -
Go-simple(0)Go简介
Go是一个开源的编程语言。 从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等很多思想。Go 是编译型语言。Go环境确认,控制台输入 go version本系列教程开发环境:基于Windows 64位开发环境:Go 1.15.6Idea 2019.2 (go插件)本系列教程包括:1 Go入门Hello World2 Go基础教程3 Go面向对象...原创 2020-12-22 11:00:45 · 468 阅读 · 0 评论