随笔分类 - Go语言日常
摘要:并发编程 Goroutine Goroutine是Go语言特有的并发体,是一种轻量级的线程,由go关键字启动。在真实的Go语言的实现中,goroutine和系统线程也不是等价的。 一个Goroutine会以一个很小的栈启动(可能是2KB或4KB),当遇到深度递归导致当前栈空间不足时Goroutine
阅读全文
摘要:函数、方法和接口 具名函数一般对应于包级的函数,是匿名函数的一种特例,当匿名函数引用了外部作用域中的变量时就成了闭包函数闭包函数是函数式编程语言的核心。 方法是绑定到一个具体类型的特殊函数,Go语言中的方法是依托于类型的,必须在编译时静态绑定。 接口定义了方法的集合,这些方法依托于运行时的接口对象,
阅读全文
摘要:数组、字符串与切片 Go语言中数组、字符串和切片三者是密切相关的数据结构。这三种数据类型,在底层原始数据有着相同的内存结构。虽然数组的元素可以被修改,但是数组本身的赋值和函数传参都是以整体复制的方式处理的。字符串赋值只是复制了数据地址和对应的长度,而不会导致底层数据的复制。 数组 数组是一个由固定长
阅读全文
摘要:关于CGo多语言编译 问题出现在将openCV封装到go语言的时候。在编译时需要设置 CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o xxx main.go 将第一项的参数CGO_ENABLED设置为1,否则会出现 vendor/gocv.io/x
阅读全文
摘要:summary logrus是针对go语言开发的一款日志系统,在本片文章中,将会对上手logrus的过程中遇到的一些问题做一个记录。这个记录参考了这篇文章。下面我们开始吧! 上手 package main import ( log "github.com/sirupsen/logrus" ) fun
阅读全文