随笔分类 -  golang

摘要:go语言中的值类型: int、float、bool、array、sturct等 值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数 声明一个值类型变量时,编译器会在栈中分配一个空间,空间里存储的就是该变量的值 go语言中的引用类型: slice 阅读全文
posted @ 2019-06-28 15:35 .追风逐月 阅读(8248) 评论(0) 推荐(0) 编辑
摘要:golang遍历文件夹: 阅读全文
posted @ 2019-06-05 17:55 .追风逐月 阅读(8097) 评论(0) 推荐(0) 编辑
摘要:使用salt实现jenkins发版时,远程对go项目编译重启 1、go 版本1.12 使用go mod 2、设置go镜像 GOPROXY="https://goproxy.io" 3、slat 脚本 4、build.sh 解释: 1、笔者的可执行文件叫 courseware 2、遇到go 命令找不到 阅读全文
posted @ 2019-05-24 19:37 .追风逐月 阅读(360) 评论(0) 推荐(0) 编辑
摘要:为了使用go mod把golang升级到了最新的1.12版本,go mod是1.11版本引入的,go mod的引入极大的方便了golang项目的依赖管理,同时把golang项目从GOPATH中解放了出来。 Go版本升级 没找到更好的办法,但win/linux通用 1、卸载旧版本Go 2、在安装新版本 阅读全文
posted @ 2019-05-14 16:51 .追风逐月 阅读(6031) 评论(0) 推荐(0) 编辑
摘要:int 转 float var sum int = 17 mean:= float32(sum) float 转 int a := 5.0 b := int(a) string 转 int i,_ := strconv.Atoi("3") fmt.println(3 + i) // 6 int 转 阅读全文
posted @ 2019-02-14 19:07 .追风逐月 阅读(490) 评论(0) 推荐(0) 编辑
摘要:golang操作mysql数据库 代码: mysql的增、删、改、查 package main import ( "database/sql" "fmt" "strconv" "time" _ "github.com/go-sql-driver/mysql" ) func main() { db, 阅读全文
posted @ 2018-12-20 11:26 .追风逐月 阅读(1250) 评论(0) 推荐(0) 编辑
摘要:Go是一门全新的静态类型开发语言,具有自动垃圾回收、丰富的内置类型、函数多返回值、错误处理、匿名函数、并发编程、反射等特性 golang常用命令: go env #查看go的环境 echo %GOROOT% #查看GOROOT echo %GOPATH% #查看GOPATH go get pakea 阅读全文
posted @ 2018-12-18 15:41 .追风逐月 阅读(5001) 评论(0) 推荐(0) 编辑
摘要:广度优先遍历,走迷宫思路: 1、创建二维数组,0表示是路,1表示是墙;创建队列Q,存储可遍历的点,Q的第一个元素为起始点 2、从队列中取一个点,开始,按上、左、下、右的顺序遍历周围的点next,next点在数组的范围内,且值为0,则把next存入队列Q中,并在steps(行走记录二维数组)中记录步数 阅读全文
posted @ 2018-12-11 20:02 .追风逐月 阅读(1287) 评论(0) 推荐(0) 编辑
摘要:golang爬取免费的代理IP,并验证代理IP是否可用 这里选择爬取西刺的免费代理Ip,并且只爬取了一页,爬取的时候不设置useAgent西刺不会给你数据,西刺也做反爬虫处理了,所以小心你的IP被封掉 代码: 西刺上的代理IP只有一部分可用,另外高匿IP可用于反爬虫,但是西刺中有的高匿IP是广告陷阱 阅读全文
posted @ 2018-12-07 11:55 .追风逐月 阅读(1787) 评论(0) 推荐(0) 编辑
摘要:golang中坑的慢慢踩! golang中的数组是值类型,函数调用是传入的是数组的拷贝,如果想改变数组的值,可考虑使用指针数组,即函数调用时传入数组的地址 golang中的切片是引用类型,但是在函数中使用append给切片追加元素是行不通的,需要使用切片的指针类型才能增加元素 数组的使用: 运行结果 阅读全文
posted @ 2018-12-04 11:58 .追风逐月 阅读(313) 评论(0) 推荐(0) 编辑
摘要:Golang 在使用匿名成员初始化时,如果出现 s3直接导致代码编译不过去,想要指定字段就必须按 s1的方式 Person:Person{xxx:"xxx"},要么就不指定按照s2的方式 阅读全文
posted @ 2018-11-29 12:22 .追风逐月 阅读(6196) 评论(0) 推荐(0) 编辑
摘要:golang 中有两个内存分配机制 :new和make,二者有明显区别. new:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。其自身是一个指针.可用于初始化任何类型 make: 返回一个有初始值(非零)的T类型,而不是*T,其只能用来初始化:slice,map和 阅读全文
posted @ 2018-08-20 18:58 .追风逐月 阅读(2996) 评论(0) 推荐(0) 编辑
摘要:如果某个函数的入参是interface{},有下面几种方式可以获取入参的方法: 1 fmt: import "fmt" func main() { v := "hello world" fmt.Println(typeof(v)) } func typeof(v interface{}) strin 阅读全文
posted @ 2018-08-16 19:56 .追风逐月 阅读(6393) 评论(0) 推荐(0) 编辑
摘要:一个最简单的golang web服务器 在服务器上部署go程序 在服务器上执行 go env 查看 GOARCH GOARCH="amd64" env GOOS=linux GOARCH=amd64 go build main.go #编译完生成一个main 文件上传到服务器 chmod +x ma 阅读全文
posted @ 2018-07-26 20:05 .追风逐月 阅读(522) 评论(0) 推荐(0) 编辑
摘要:中文在go语言中占三个字节,len 或者 range 一个含中文的字符串跟我们预期的结果不一样 求长度用 utf8.RuneCountInString,遍历用 rune func main() { txt := "abc好好学习" fmt.Println("len长度:", len(txt),"\n 阅读全文
posted @ 2018-06-26 19:58 .追风逐月 阅读(725) 评论(0) 推荐(2) 编辑

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