(一)GO的语言结构: Go 语言的基础组成有以下几个部分: 包声明 引入包 函数 变量 语句 & 表达式 注释 //所有的新语言都是以helloword开始 package main //这个是包的声明你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。packag ...
分类:
编程语言 时间:
2020-07-12 18:36:14
阅读次数:
75
(一)GO语言变量 Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字 声明变量的一般形式是使用 var 关键字: //var identifier type //其中 identifier 是变量,type是类型 例如: var tongtong string = "zhang" f ...
分类:
编程语言 时间:
2020-07-12 18:31:37
阅读次数:
98
引言 最近自己在学习go项目的时候,查看别人的源码经常发现defer的使用,加上自己之前对这个关键字没怎么在意,只知道差不多是用来释放内部变量的。 查看资料可以发现,defer会在当前函数或者方法返回之前执行传入的函数,经常用于关闭文件描述符、关闭数据库连接以及解锁资源。 为了能够更形象地理解def ...
分类:
其他好文 时间:
2020-07-12 18:26:31
阅读次数:
71
项目地址:https://github.com/spf13/viper 安装方式:go get github.com/spf13/viper 简介 viper是一个十分强大的配置文件解析工具,具有以下特点 设置默认值 支持的文件包括JSON, TOML, YAML, HCL, envfile 和 J ...
分类:
其他好文 时间:
2020-07-12 16:20:14
阅读次数:
112
TLS 介绍 TLS(Transport Layer Security)是一个保证信息安全的应用层协议。它的前身是 SSL(Secure Socket Layer)。它是一套定义了如何对由 TCP 传输的报文进行加密的协议。 HTTP 协议传输报文时,数据是明文传递的,意味着你和服务器之间的通信是可 ...
分类:
其他好文 时间:
2020-07-12 14:00:55
阅读次数:
59
protobuf 是一种数据交换格式,类似json。 grpc 是一种服务调用协议。 golang 需要下载安装 protoc 二进制文件支持编译 下载地址 编译protobuf协议需要安装github.com/golang/protobuf包进行编译支持 支持grpc需要安装go install ...
分类:
其他好文 时间:
2020-07-11 17:42:09
阅读次数:
51
当程序出现异常时,会抛出一个panic来终止程序,如果不想让程序终止,可以通过defer recover() 来处理,见下图(这样处理就不会使程序崩溃): ...
分类:
其他好文 时间:
2020-07-11 13:14:10
阅读次数:
59
go-snowflake 在单机系统中我们会使用自增id作为数据的唯一id,自增id在数据库中有利于排序和索引,但是在分布式系统中如果还是利用数据库的自增id会引起冲突,自增id非常容易被爬虫爬取数据。在分布式系统中有使用uuid作为数据唯一id的,但是uuid是一串随机字符串,所以它无法被排序。 ...
分类:
其他好文 时间:
2020-07-11 11:17:30
阅读次数:
138
package main import ( "crypto/md5" "fmt" "io" ) func main() { // 第一种 var str = "golang" slice := []byte(str) res := md5.Sum(slice) fmt.Println(res) // ...
分类:
其他好文 时间:
2020-07-11 09:58:03
阅读次数:
83
package main import ( "flag" "fmt" ) //**Demo1**: func main() { t1 := flag.Int("w", 0, "demo test") //int变量 t2 := flag.String("a", "Hello", "demo test ...
分类:
其他好文 时间:
2020-07-10 15:22:54
阅读次数:
74