go学习
生生世世是所说的
wc!bin
展开
-
# Go编译到其他平台的做法
1. 在终端中运行如下命令:2.原创 2023-09-16 10:28:49 · 53 阅读 · 0 评论 -
grpc和protobuf间关系
protobuf 即 Protocol Buffers,是一种轻便高效的结构化数据存储格式,与语言、平台无关,可扩展可序列化。protobuf 性能和效率大幅度优于 JSON、XML 等其他的结构化数据格式。protobuf 是以二进制方式存储,占用空间小,但也带来了可读性差的缺点(二进制协议,因为不可读而难以调试,不好定位问题)。简单来说,grpc要用他格式化数据,那么要怎么使用他呢?让我们看下谷歌官方的grpc范例。原创 2023-09-11 16:17:34 · 84 阅读 · 0 评论 -
go实现grpc-快速开始
接下来你将更新这个应用使用一个额外的服务方法。grpc服务使用protocol buffers.想要学习更多关于怎样在.proto文件中定义一个服务请看。你刚才成功地运行了client-server grpc应用。在你能用新的服务端方法前, 你得先重新生成。再开一个终端编译并运行客户端代码。更新刚才的gRPC服务。原创 2023-09-11 15:01:32 · 481 阅读 · 1 评论 -
ubuntu安装最新版本的go基于官网二进制
All releases - The Go Programming Languagewget -c https://go.dev/dl/go1.21.1.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/localexport PATH=$PATH:/usr/local/go/binsource ~/.profileecho "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile原创 2023-09-10 21:00:30 · 472 阅读 · 0 评论 -
复数go版本的下载和管理
你可以在一台机器上下载复数的go版本.打个比方,你可能想要在不同的go版本上测试你的代码,想要查看你可以通过这种方式安装的go版本,查看。想要移除一个下载的版本,只需要移除这个被指明的GOROOT环境变量并且把指定版本的二进制一起删除就行。你如果要以这种方式安装go那么首先安装git.原创 2023-09-10 20:31:14 · 240 阅读 · 0 评论 -
教你用go 配置管理神器Viper解析docker-compose文件
在构建应用程序时,你不会想要花费过多时间在配置文件上的想专注于构建出色的软件?Viper 可以为您提供帮助。Viper 会为您执行以下操作:1/查找、加载和解构 JSON、TOML、YAML、HCL、INI、envfile 或 Java 属性格式的配置文件。2.为不同的应用程序提供不同的默认配置。3.提供一种机制覆盖通过命令行标志指定的选项。4.提供别名系统,可以轻松重命名参数,而不会破坏现有代码。5.可以轻松区分用户提供的命令行选项或配置文件与默认值相同的情况。原创 2023-09-02 18:45:33 · 258 阅读 · 0 评论 -
fsnotify跨平台的文件监视器
fsnotify一个跨平台的go文件变化监视器,简单来说,它可以观察某些指定文件的状态并返回不同的状态码,举个例子,当我们需要检测配置文件的修改来重启应用时,fsnotify就可以派上用场了。原创 2023-09-01 13:03:13 · 116 阅读 · 0 评论 -
go实现bcrypt加密
Bcrypt 是一款加密工具,它生成的密文是60位的,而且每次加密生成的值是不一样的。MD5 加密虽然不可逆,但是它每次生成的密文是相同的,这便给暴力破解留下了余地所以推荐使用bcrypt进行加密。原创 2023-08-31 12:50:57 · 336 阅读 · 0 评论 -
GRPC详解
gRPC 是一个现代开源高性能远程过程调用(RPC)框架,可以在任何环境中运行。它可以有效地连接数据中心内和跨数据中心的服务,并提供对负载平衡、跟踪、健康检查和身份验证的可插入支持。它还适用于分布式计算的最后一英里,将设备、移动应用程序和浏览器连接到后端服务。简单来说:它是一种协议用来屏蔽分不分布式计算中的各种调用细节,使你可以像可以本地调用一样调用远程的函数。原创 2023-08-12 23:39:28 · 1617 阅读 · 1 评论 -
go设置国内源
go get等报错的解决方案原创 2023-08-12 22:40:33 · 560 阅读 · 1 评论 -
Go并发(goroutine)及并发常用模型的实现
Go 语言最吸引人的地方是它内建的并发支持。作为天然支持高并发的语言,写并发比java和python要简单方便的多.在并发编程中,对共享资源的正确访问需要精确的控制,在目前的绝大多数语言中,都是通过加锁等线程同步方案来解决这一困难问题,而 Go 语言却另辟蹊径,它将共享的值通过 Channel 传递(实际上多个独立执行的线程很少主动共享资源)。在任意给定的时刻,最好只有一个 Goroutine 能够拥有该资源。数据竞争从设计层面上就被杜绝了。原创 2023-08-12 15:00:09 · 174 阅读 · 1 评论 -
GORM实战演示
因为单做演示使用,所以项目结构比较简单,稍微讲下models和dao包中应该放置的内容,在,而models即数据库表的代码映射,在javaWeb中我们通常多建一dao包来实现对models的增删改查操作,但既然gorm能做到非常简单的实现,go.work中指定:go 1.21.0use .原创 2023-08-12 13:46:47 · 84 阅读 · 0 评论 -
Go导入本地包
如果想要再main.go中导入models包,那么首先需要在go.mod中配置。这种方式来导入models中的文件。原创 2023-08-11 21:42:11 · 53 阅读 · 1 评论