对于golang中分配内存编译器会自动选择在栈上还是在堆上分配局部变量的存储空间,但可能令人惊讶的是,这个选择并不是由用var还是new声明变量的方式决定的。 var global *int func f() { var…
标签:go
golang 标准库(encoding/json)学习
golang 标准库(encoding/json)学习 什么是json json的全称是 JavaScript Object Notation,是一种轻量级的数据交换格式。易于人阅读和编写,同时易于机器解析和生成。jso…
casbin访问控制框架在GO中的基本使用方法
我对casbin的理解 本文以 iris框架作为示例,原生或其它框架基本是一样的。 根据官方文档,首先介绍一下几个重要部位。(安装方法跳过) 使用casbin有两个地方是需要配置的,一个是model,另一个是policy…
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包,但它只会被…
golang aws-sdk-go 之 s3 服务
s3 是 aws 提供的分布式文件服务,价格比较优惠,经常被用来作为日志的持久化存储,大数据处理结果的输入输出等 s3 服务提供命令行工具,可以很方便地上传、下载、删除文件,普通 golang 程序如果需要访问 s3 上…
Go语言类型中的一些小细节【笔记】
把平时的一些笔记放上来,主要是一些比较小的问题,这里是关于golang中的类型中需要记录的小知识点。 常量 【1】可以是某些编译器能计算出结果的表达式 unsafe.Sizeof len cap const { ptrS…
Go 语言理解
面向对象,是软件工程中的重要思想。我们入手一门新的编程语言,需要先了解它的基本语法,然后就是如何面向对象编程。 Go 基础知识 Go 是一门强类型语言,具有并发、安全等优势。 函数 函数是按值传递,这一点很重要 以下是一…
Go 原子操作
概念 原子操作,意思就是执行的过程不能背终端的操作。在针对某个值的原子操作执行过程中,cpu不会再去执行其他针对这个值得操作。在底层,这会由CPU提供芯片级别的支持,所以绝对有效。即使在拥有多CPU核心,或者多CPU的计…
strings包里面的Split函数的坑
无论哪种开发语言,Split函数都是经常用到。最近发现了strings包里的Split函数有个坑,真是活久见。 package main import "fmt" import "strings" func main()…
go语言中int和byte转换
主机字节序 主机字节序模式有两种,大端数据模式和小端数据模式,在网络编程中应注意这两者的区别,以保证数据处理的正确性;例如网络的数据是以大端数据模式进行交互,而我们的主机大多数以小端模式处理,如果不转换,数据会混乱 参考…