对于golang中分配内存编译器会自动选择在栈上还是在堆上分配局部变量的存储空间,但可能令人惊讶的是,这个选择并不是由用var还是new声明变量的方式决定的。 var global *int func f() { var…
分类:go教程
gRPC源码/transport/客户端 服务端
综述 http2Client实现自ClientTransport接口http2Server实现自ServerTransport接口 https://github.com/messixukej… 在liangz…
记一次字符串压缩操作
记一次字符串压缩操作 项目中遇到一个场景:需要将一批数据发送到APP端,且实际应用场景中,对数据的长度有一定的限制,于是就需要用到字符串压缩。APP端使用Java,后端使用Golang,使用gzip压缩,同时涉及到了ba…
Golang语言Post发送 json形式的请求
项目中需要用到Go语言,所以,快速学习了下,使用net/http库写了一个发送json数据的POST请求。 示例: package main import ( "bytes" "fmt" "io/ioutil" "net…
hex和base32和base64的区别与联系
基本概念 hex也称为base16,意思是使用16个可见字符来表示一个二进制数组,编码后数据大小将翻倍,因为1个字符需要用2个可见字符来表示。 base32,意思是使用32个可见字符来表示一个二进制数组,编码后数据大小变…
golang 包原理
1、首先是包的引入原理 程序的初始化和执行都起始于main包。如果main包还导入了其它的包,那么就会在编译时将它们依次导入。有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到fmt包,但它只会被…
gweb总结之开篇
gweb并不是一个web框架,而是自己整理的web脚手架?也不知道怎么称呼更为合适,因此主要目的在于总结相关知识。其中用到了的第三方的包,可以在项目的 vendor文件夹里查阅。我也希望做成一个web框架,一边总结一边朝…
shipyard中文版v3.0.2更新
Shipyard中文版官方同步更新 中文版shipyard v3.0.2与官方同步更新,更新内容详细可见GITHUB:https://github.com/dockerclubgroup/shipyard 本次更新内容包…
Go基础学习五之接口interface、反射reflection
Go编程语言:支持并发、垃圾回收的编译型系统级编程语言!本文主要是按照无闻的《Go 编程基础》开源视频学习并记录笔记。 一、接口interface 1、基本概念 Go 语言提供了另外一种数据类型即接口,它把所有的具有共性…
golang orm 框架之 gorm
最近在想给这个小站增加点赞和评论功能,第三方系统又有各种限制,就想自己弄个后端,实现类似的功能,对于个人来说,数据量不是很大,单机的 mysql 足够存下所有数据,mysql 作为底层存储是个不错的选择 之前在公司是直接…
golang aws-sdk-go 之 s3 服务
s3 是 aws 提供的分布式文件服务,价格比较优惠,经常被用来作为日志的持久化存储,大数据处理结果的输入输出等 s3 服务提供命令行工具,可以很方便地上传、下载、删除文件,普通 golang 程序如果需要访问 s3 上…
Go语言微服务系列文章
微服务、Go语言、Docker技术也算目前比较热门的技术话题,本人也是抱着学习的思想,整理一些学习心得,和志同道合的朋友一起探讨学习一下。 接下来是一系列关于Go语言微服务的系列文章。 简介 为什么是Go语言的微服务, …