随笔分类 -  Go学习笔记

摘要:Bee安装 设置代理 不知道为啥,我用七牛云的代理,速度也不太好使,设置了阿里的代理,速度可以了 go env -w GO111MODULE=on go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct 安装Bee go instal 阅读全文
posted @ 2022-12-09 19:41 花茶冰糖 阅读(82) 评论(0) 推荐(0) 编辑
摘要:安装Iris go install github.com/kataras/iris@master 可能会出现连接不上的问题,可以使用七牛云的代理 具体可以看看这个https://goproxy.cn/ goenvwGO111MODULE=on go env -w GOPROXY=ht 阅读全文
posted @ 2022-12-09 15:48 花茶冰糖 阅读(86) 评论(0) 推荐(0) 编辑
摘要:反射 静态类型 静态类型就是变量声明赋予的类型,比如: type MyInt int type A struct{ Name string } var i *int 动态类型 动态类型:运行时给这个变量赋值时,这个值的类型(如果为nil的时候没有动态类型)。运行时,动态类型可能改变。例: var A 阅读全文
posted @ 2022-12-07 21:07 花茶冰糖 阅读(14) 评论(0) 推荐(0) 编辑
摘要:并发编程 并发、并行 并发:同一时间段,两个程序轮流执行。 并行:两个程序同时执行,需要有多核CPU的支持才能实现。 并行不一定就比并发速度快,因为线程或进程之间的通信开销很高。 进程、线程、协程 进程:每个程序相当于是一个进程。一个进程包含多个线程 线程:相当于轻量级的进程,相互之间通信开销小 协 阅读全文
posted @ 2022-11-16 19:34 花茶冰糖 阅读(15) 评论(0) 推荐(0) 编辑
摘要:包的使用 引入时,用.做前缀,使用时可以省略包名,不建议这么使用 可以前缀别名 "_"下划线操作,可以执行包里面对应的init函数 首字母大写的字段和实体,才能被外部引用 init函数和main函数 这两个函数都是GO语言中的保留函数,init用于初始化,main函数作为程序入口 这两个函数不能有参 阅读全文
posted @ 2022-11-14 17:23 花茶冰糖 阅读(12) 评论(0) 推荐(0) 编辑
摘要:什么是go语言的方法 方法和函数类似,但是需要设置调用的者对象。和go语言的函数不同,方法可以针对调用对象不同重载。 子类重写“父类”中的方法 func main() { w1 := Woker{ salary: 100, doSomething: "mo yu", } w1.name="KB" w 阅读全文
posted @ 2022-11-14 17:23 花茶冰糖 阅读(32) 评论(0) 推荐(0) 编辑
摘要:指针的声明 func main() { a := 10 var p1 *int p1 = &a //指针保存的地址 fmt.Println(p1) //指针本身的地址 fmt.Println(&p1) //指针指向保存的数据 fmt.Println(*p1) //通过指针,修改a的变量 *p1 = 阅读全文
posted @ 2022-11-10 13:30 花茶冰糖 阅读(16) 评论(0) 推荐(0) 编辑
摘要:函数的声明 注意 GO语言的函数可以返回多个值; 返回值类型,在最后 入参,类型在参数后面 参数类型一致,可以简写在一起 func funcName(parametername type1,parametername type2)(output1 type1,output2 type2){ retu 阅读全文
posted @ 2022-11-07 23:30 花茶冰糖 阅读(18) 评论(0) 推荐(0) 编辑
摘要:Map 初始化 var map1 map[int]string var map2 = make(map[int]string) var map3 = map[int]string{1: "倒霉", 2: "打针"} fmt.Println(map1) fmt.Println(map2 == nil) 阅读全文
posted @ 2022-11-07 18:50 花茶冰糖 阅读(89) 评论(0) 推荐(0) 编辑
摘要:数组 数组初始化 var arr [4]int arr[0] = 1 arr[1] = 2 fmt.Println(arr) var a = [4]int{1, 2, 3, 4} fmt.Println(a) var b = [4]int{1, 2, 3} fmt.Println(b) var c 阅读全文
posted @ 2022-10-19 22:17 花茶冰糖 阅读(16) 评论(0) 推荐(0) 编辑
摘要:有三种结构:顺序结构、选择结构、循环结构 条件语句 if if...else ,if...else if。 if statement;condition 这是Go语言特有的写法。 if num := 4; num > 0 { println("大于零") } else if num < 0 { pr 阅读全文
posted @ 2022-10-19 19:12 花茶冰糖 阅读(27) 评论(0) 推荐(0) 编辑
摘要:变量声明 普通声明 //普通声明 var num1 int num1 = 2 fmt.Println(num1) 类型推断 var num2 = 4 fmt.Println(num2) 简短声明 num3 := 8 fmt.Println(num3) 多变量声明 var a, b, c string 阅读全文
posted @ 2022-10-19 16:15 花茶冰糖 阅读(21) 评论(0) 推荐(0) 编辑
摘要:go的源码文件 分为三类:命令源码文件,库源码文件,测试源码文件 命令源码文件:后缀.go的文件,一个目录下,只能有一个main的入口,否则build或install会报错。 库源码文件:普通的源码文件,库源码文件被安装后,相应的归档为.a文件存放在pkg相关目录下 测试源码文件:名称以_test. 阅读全文
posted @ 2022-10-19 16:14 花茶冰糖 阅读(22) 评论(0) 推荐(0) 编辑
摘要:package main import "fmt" func main() { fmt.Println("hello world") } 关于编译 直接用GoLand编译,可能会遇到报错 go env -w GO111MODULE=off go run命令 go run hello.go go bu 阅读全文
posted @ 2022-10-19 15:48 花茶冰糖 阅读(18) 评论(0) 推荐(0) 编辑
摘要:特性 并发编程 go的并发执行单元叫gorutine的协程,比线程更轻量,开销更小,性能更高,操作起来非常简单,一台机器上可以启动成千上万个协程,协程间的上下文切换,无需下到内核层,高效不少。协程间的通信靠独有channel机制实现 内存回收 内存自动回收,再也不需要开发人员管理 开发人员专注业务实 阅读全文
posted @ 2022-10-18 20:35 花茶冰糖 阅读(48) 评论(0) 推荐(0) 编辑
摘要:在https://studygolang.com/dl 进行下载 配置GOROOT和GOPATH GOROOT为安装程序的根目录 GOPATH为存放代码的地方 环境变量配置的位置:右键我的电脑属性 >高级系统设置 >高级 >环境变量 >系统变量 >新增 在GOPATH对应的路径中需要建三个文件夹: 阅读全文
posted @ 2022-10-17 22:40 花茶冰糖 阅读(20) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示