随笔分类 - GO
学习记录
摘要:1、go 语言通过占位符... 实现可变参数。 2、对于未知类型通过 interface{}实现。interface{}可以理解为c/c++中void类型 具体如下: ``` package main import ( "fmt" ) /// 此时需指定类型int func TestFuncInt(
阅读全文
摘要:资料: https://juejin.cn/post/7189459383041359933 https://juejin.cn/post/7189459383041359933 https://juejin.cn/post/7189966589042556989
阅读全文
摘要:## 一、引言 在C/C++中,高并发场景一般使用多线程支持;而go语言天然支持高并发。go语言采用goroutine来支持高并发场景,goroutine有官方实现的用户态的超级“线程池”,每个协程4-5KB栈内存占用并且实现机制大幅减少创建和销毁开销 是go语言高并发的根本原因。 OS线程(操作系
阅读全文
摘要:## 一、go interface 是什么? go语言中interface是一组方法集合,也是一种类型。我们可以把它看成一种定义内部方法的动态数据类型,任意实现了这些方法的数据类型都可以认为是特定的数据类型。 ## 二、基本语法 - 定义接口 ``` type Person interface {
阅读全文
摘要:## 一、问题 ``` package main import "fmt" var i int i = 1 func main() { fmt.Println(i) } ``` 上面代码运行出现如下报错: ``` ./main.go:6:1: syntax error: non-declaratio
阅读全文
摘要:一、变量 1、函数内的变量,声明后必须使用否则报错;包内变量,生命后可以不使用。 2、var 什么时候要使用,什么时候可以不使用 函数内可以使用:=,此时省略var关键字,且只有这种情况可以省略关键字var; 函数外必须使用var/function等关键字,不可使用:=形式。 3、函数内不同类型变量
阅读全文