以 Wagon 为例, Golang 解析 wasm

wasm 原理 wasm 指令的解析,其实都是 入栈,出栈的操作, 它是一个基于栈的虚拟机,比如 get_local 0, 它就是获取函数的第一个参数,并把它放到栈里. i32.const 42 就是把一个 42(int32)放入栈中. i32.add 就是从栈中取出两个数,相加后再放回栈里。 下面看一个具体的例子 cpp 如下 extern "C" { int large(int num) { if (num > 10) { num = num + 12; } else { num = num...阅读全文

简书 2020-04-23 22:32:53 不要人夸颜色好

golang覆盖测试检测

工具 go get golang.org/x/tools/cmd/cover go get github.com/mattn/goveralls 分析测试代码的覆盖率 1. 查看整体的覆盖率 cd 项目的根目录 go test -cover PASS coverage: 76.5% of statements ok github.com/yezihack/gorestful 0.005s 2. 覆盖率分析 a. 生成覆盖率的分析文件 go test -coverprofile=coverage....阅读全文

简书 2020-04-23 22:32:53 百里江山

Golang 1.13: 解决国内 go get 无法下载的问题

在[下载并安装 go 1.13之后,安装 golang 依赖包的时候,发现长时间没有响应,无法下载,从返回的错误信息看应该是国内无法访问 golang.org。 解决办法 使用国内七牛云的 go module 镜像。 参考 https://github.com/goproxy/goproxy.cn。 golang 1.13 可以直接执行: go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct 阿里云 Go Mod...阅读全文

docker学习记录

docker(version:2.2.0.5)配置镜像仓库 右上docker小图标 -> preference -> Docker Engine 在 "registry-mirrors":[] 里面写上镜像仓库地址(图中是网易的,也有阿里云的,网搜自行配置)-> apply&restart docker简介 (正规简介网上有,简单说说个人理解,有误请指正,感谢) 它运行的时候是一个与其他进程隔离的容器,不运行的时候就是一个模板文件,可以发送到别的地方,再运行成为新的容器。把代码打包成一个镜像发送...阅读全文

简书 2020-04-23 22:32:51 nnnnxcj

白话https之golang实现https双向认证

一、什么是https? 日常开发中大家可能接触最多的都是http协议,说到http协议也不得不提到TCP/IP协议以及计算机网络中tcp/ip五层与OCI7层架构模型有关,http(超文本传输协议)用户客户端和服务端之间的通信,位于tcp/ip五层协议中最上层传输层,http传输过程中都是明文传输,易引起安全问题,所有诞生了https协议。 HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数...阅读全文

简书 2020-04-23 22:32:49 _二师兄_

2020-04-23

Golang实现切割文件 //4M const chunkSize int64 = 4 << 20 fmt.Println("请输入要切分的文件路劲") var filePath string fmt.Scanln(&filePath) fileInfo, err := os.Stat(filePath) if err != nil { fmt.Println(err) } //文件大小 除以要切分的文件大小 向上取整(就是要切分的份数) num := int(math.Ceil(float64...阅读全文

简书 2020-04-23 22:32:47 ax_bb

在MAC下安装pip,并关联到相应的python版本

在MAC下安装pip,并关联到相应的python版本 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 不多说了,说就是电脑重装了,全部重新来了 下载pip 首先检查一下是否有pip pip --version 确定我没有,上面的命令少了一个-,不过肯定的是我没有 下载 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 安装 sudo python3 get-...阅读全文

Segmentfault 2020-04-26 10:32:35 归子莫

在MAC下安装Go环境和beego

在MAC下安装Go环境和beego 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 在写一个博客系统需要用到beego,但是电脑有重装了一次,所以这次重新安装一下go的环境 下载go 给出一个下载地址 https://golang.google.cn/dl/ mac电脑使用这个版本的就好了 下载之后我们按照步骤安装即可 测试 go version 配置环境变量 创建GOPATH 系统自己建了一个go的目录,在我们的用户...阅读全文

Segmentfault 2020-04-26 10:32:34 归子莫

Go Search Extension版本发布!一款超实用小工具

大家好,又有超实用小工具跟大家分享啦,欢迎大家体验和吐槽~ 这是一款旨在帮助Go开发者提高开发效率的超实用工具——Go Search Extension,它是一个可在浏览器地址栏快速、方便、高效地搜索Go文档的浏览器插件,目前支持Chrome、Firefox和Edge下载,是我们前期开发的[RustSearchExtension插件](https://chrome.google.com/webstore/detail/rust-search-extension/ennpfpdlaclo...阅读全文

Go语言中文网 2020-04-23 18:21:11 Kathygo

Go语言(十五) 反射

反射 变量介绍 变量的内在机制 类型信息,这部分是元信息,是预先定义好的 值类型,这部分是在程序运行过程中动态改变的 反射介绍 反射与空接口 空接口可以存储任何类型的变量 在程序运行时动态获取变量的类型信息和值信息,就叫反射 import ( "fmt" "reflect" ) func TestType(a interface{}) { //获取类型(静态信息) t := reflect.TypeOf(a) kind := t.Kind() switch kind { case reflect...阅读全文

51CTO博客 2020-04-23 15:38:30 wx5b285b48ed74e

Golang之面向接口编程及使用分析

1. 接口[多态] 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。 简而言之,就是允许将子类类型的指针赋值给父类类型的指针。 即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。不修改程序代码就可以改变程序运行时所绑定的具体代码,让程序可以选择多个运行状态,这就是多态性。多态分为编译时多态(静态多态)和运行时多...阅读全文

简书 2020-04-23 15:32:52 程序员同行者

GO语言占位符

一.普通占位符 type Human struct { Name string } var people = Human{Name:"zhangsan"} 占位符 说明 举例 输出 %v 相应值的默认格式 Printf("%v", people) {zhangsan} %+v 打印结构体时,会添加字段名 Printf("%+v", people) {Name:zhangsan} %#v 相应值的Go语法表示 Printf("#v", people) main.Human{Name:"zhangs...阅读全文

简书 2020-04-23 15:32:52 Caesar_emperor

Golang 高并发编程使用Goroutine容易犯的错误

Golang goroutine是Go语言强大的特性之一,合理的利用它才能发挥最大的价值 1、经调查 发现初学者一般会犯以下错误使用goroutine func goroutineRun(values []int) { for value := range values { go value.test() } } 或者使用闭包调用 func goroutineRun(values []int) { for value := range values { go func() { fmt.Print...阅读全文

Segmentfault 2020-04-26 09:32:34 阿俊

让我们一起啃算法----无重复字符的最长子串

无重复字符的最长子串 这是 LeetCode 第三题,题干如下: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 ...阅读全文

Segmentfault 2020-04-25 22:32:32 三斤和他的朋友们

Golang Web入门(3):如何优雅的设计中间件

Golang Web入门(1):自顶向下理解Http服务器 Golang Web入门(2):如何实现一个RESTful风格的路由 Golang Web入门(3):如何优雅的设计中间件 Golang Web入门(4):如何设计API 摘要 在上一篇文章中,我们已经可以实现一个性能较高,且支持RESTful风格的路由了。但是,在Web应用的开发中,我们还需要一些可以被扩展的功能。 因此,在设计框架的过程中,应该留出可以扩展的空间,比如:日志记录、故障恢复等功能,如果我们把这些业务逻辑全都塞进Cont...阅读全文

掘金 2020年04月22日 红鸡菌

kubernetes 1.18离线安装 一键安装

kuberentes 离线丝滑安装 为了让kubernetes安装与集群节点管理更丝滑,这次我们是花了大功夫。这次做了很多非常大的更新,并经过充分测试与bug修复让其稳定。 力争把这个简单的事做到极致。 剥离定制kubeam功能到sealos中 之前定制kubeadm代码实现的100年证书功能和localLB,已经全部剥离到sealos中,现在已经是完完全全原生的kubernetes了。 为了减少对第三方命令行工具的依赖,sealos证书完全是通过调用golang的库生成,生成逻辑与kubead...阅读全文

简书 2020-04-23 10:32:56 sealyun