随笔分类 - Go
摘要:转载——Ubuntu go 语言卸载更新 1.卸载旧版本 sudo apt-get remove golang-go sudo apt-get remove --auto-remove golang-go 2.先去下载新版本的包,我这里下载的 Go下载 - Go语言中文网 - Golang中文社区s
阅读全文
摘要:package main import ( "fmt" "context" "time" "github.com/coreos/etcd/clientv3" // "github.com/coreos/etcd/clientv3/concurrency" "log" ) func main(){ c
阅读全文
摘要:问题: cannot use cli (type *"go.etcd.io/etcd/clientv3".Client) as type *"github.com/coreos/etcd/clientv3".Client in argument to concurrency.NewSession 解
阅读全文
摘要:go module 基本使用 前言# go的版本以至1.13,一直以来令人诟病的依赖管理也有了官方的方向,但是看了一下目前很多blog文章还是比较老的. 所以这里对 go mod 做一个大致的说明 正文# 前提# go版本为1.13及以上 官方文档# 如果你想更深层次的了解GO MODULE的意义及
阅读全文
摘要:先设置国内下载源 go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn 安装beego文件 go get github.com/astaxie/beego 安装bee工具 go get github.com/beego/bee /
阅读全文
摘要:字符串常用函数 func main() { a := "hello worldeee" fmt.Println(strings.Contains(a, "h")) // h是否存在于a s := []string{"123", "456"} fmt.Println(strings.Join(s, "
阅读全文
摘要:文件操作 func main() { // 创建文件 // 创建文件会清空已存在的文件 // 创建文件,文件路径,路径1:\\ 2:直接 / 即可 f, err := os.Create("./users/aaa.txt") if err != nil { // 文件路径不存在 // 文件无操作权限
阅读全文
摘要:异常处理 panic : 相当于 python 的 raise func test111() interface{} { return 1 / 1 } func main() { a := test111() // panic("111") // 报错结束,致命错误,一般不用 相当于 raise f
阅读全文
摘要:接口 type Tea struct { name string age int } type Stu struct { Tea // 匿名字段,为Tea类型,继承了Tea score int } func (s Stu) jiao() { // 值传递 s.score = 11111 fmt.Pr
阅读全文
摘要:面向对象:结构体实现 继承:匿名字段 type Tea struct { name string age int } type Stu struct { Tea // 匿名字段,为Tea类型,继承了Tea score int name string } func main() { s := Stu{
阅读全文
摘要:package main import "fmt" func xpx(a []int){ for i := 0;i<len(a);i++{ min := a[i] for j := i+1;j<len(a);j++{ if a[j] < min{ a[i],a[j] = a[j],a[i] } }
阅读全文
摘要:指针: var a *int // 指针,零值为 nil var b *int = nil // 空指针 // var c *int // 野指针,直接赋值,没有指向,报错 // *c = 222 // invalid memory address or nil pointer dereferenc
阅读全文
摘要:结构体: type student struct { name string age int } type teacher struct { name string } func main(){ s1 := student{"aaa", 1} // 必须全部赋值 s2 := student{name
阅读全文
摘要:map: var m map[int]string fmt.Println(m) fmt.Printf("%T\n", m) // 在字典中不能使用cap,只能用len n := make(map[int]string, 3) // map是无序的,自动扩容 n[1] = "1" n[2] = "2
阅读全文
摘要:切片: 大小不确定的放在堆区(实际值),固定长度的在栈区(变量名:存地址) 添加切片数据的时候,地址可能发生改变,当前内存不能连续并且足够大。 扩容:<=1024 :两倍;> 1024 :每次扩容上一次的 1 / 4 引用传递 var a []int a = append(a, 1, 2, 3, 4
阅读全文
摘要:随机数: import ( "fmt" "math/rand" "time" ) rand.Seed(1) fmt.Println(rand.Int()) rand.Seed(1) fmt.Println(rand.Int()) // 5577006791947779410 固定的种子,生产固定的数
阅读全文
摘要:数组:存储空间连续。 // 数组长度必须是常量 // 索引不能为 -1 // 数组传参是值传递 var a [10]int // 定义一个整形数组 a[0] = 11 // 赋值 fmt.Println(a[0]) var b [5]int = [5]int{1, 2, 33, 4, 5} fmt.
阅读全文
摘要:// 低地址 —— 》 高地址 // 代码区 | 数据区(初始化数据区,未初始化数据区,常量区) | 堆区 | 栈区(函数信息,内部变量) // 函数地址(0x7c7620) :代码区。是一个低地址位置,计算机指令 // 全局变量(0xd03250) :初始化数据区,如果初始化了:初始化数据;未初始
阅读全文
摘要:工程管理: 同级目录,包名一致;不同级目录,包名不同。 同级目录运行多个文件 同一个文件夹下: -hello -main.go -test.go main.go package main import "fmt" func main() { fmt.Println("main") test111()
阅读全文
摘要:函数: package main import "fmt" func aaa(a int, b int) { // 函数的括号必须在第一行 fmt.Println(a + b) } func bbb(a int, b int) int { // 有返回值的函数必须按照返回类型返回值 fmt.Prin
阅读全文