随笔分类 -  golang

1

选择排序
摘要:func main(){ a := []int{1, 9, 2, 8, 3, 7, 4, 6, 5, 10} for i:=0;i<len(a)-1;i++{ max := i for j:=i+1;j<len(a);j++{ if a[j] > a[max]{ max = j } } a[i],a 阅读全文

posted @ 2020-05-21 09:11 thotf 阅读(83) 评论(0) 推荐(0) 编辑

小数精度丢失问题
摘要:例子: x := 74.96 y := 20.48 b := x - y fmt.Println(b) //output: 54.47999999999999 上面是使用普通编码 硬编码的方式如下: fmt.Println(74.96-20.48) //54.48 百度关于硬编码的解释一堆话 以上的 阅读全文

posted @ 2020-05-04 19:15 thotf 阅读(397) 评论(0) 推荐(0) 编辑

使用os.WriteAt 分块写入数据
摘要:最近在写一个并发写入数据到文件的功能。使用到os.WriteAt方法 先看下官方给的文档 func (*File) WriteAt ¶ func (f *File) WriteAt(b []byte, off int64) (n int, err error) WriteAt在指定的位置(相对于文件 阅读全文

posted @ 2020-04-29 10:59 thotf 阅读(1305) 评论(0) 推荐(0) 编辑

proxy handle
摘要:func proxyHandler(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { u, _ := url.Parse("http://127.0.0.1:9000/") proxy := httputil.NewSin 阅读全文

posted @ 2020-04-19 15:31 thotf 阅读(97) 评论(0) 推荐(0) 编辑

api透传模块
摘要:func request(b *ApiBody, w http.ResponseWriter, r *http.Request) { var resp *http.Response var err error switch b.Method { case http.MethodGet: req, _ 阅读全文

posted @ 2020-04-19 15:30 thotf 阅读(244) 评论(0) 推荐(0) 编辑

net/http包实现流媒体点播、视频上传
摘要:func GetVideo(w http.ResponseWriter,r *http.Request,param httprouter.Params){ vid := param.ByName("videoID") a,err := os.Open(`F:\迅雷下载\小丑回魂.mp4`) if e 阅读全文

posted @ 2020-04-17 07:25 thotf 阅读(374) 评论(0) 推荐(0) 编辑

channel实现生产者、消费者模型
摘要:const ( READ_TO_DISPATCH = "a" //派遣任务 READ_TO_EXECUTE = "e" //处理任务 CLOSE = "c" //退出 ) type SignChan chan string type DataChan chan interface{} type fn 阅读全文

posted @ 2020-04-16 15:59 thotf 阅读(310) 评论(0) 推荐(0) 编辑

优雅关闭HTTPserver
摘要:Go1.8的特性 server.Shutdown(ctx) 停止接收新的连接,等待旧连接处理完成(或超时) Shutdown 接受一个 Context 参数,调用者可以通过 Context 传入一个等待的超时时间。一旦超时,Shutdown 将直接返回 参考文章 https://www.dazhua 阅读全文

posted @ 2020-04-15 15:30 thotf 阅读(794) 评论(0) 推荐(0) 编辑

os/signal golang的信号监听
摘要:func Notify(c chan<- os.Signal, sig ...os.Signal)函数用于当操作系统向当前进程发送信号时发出通知 通过管道C来接受信号,信号类型只能为os.Signal , 后面的变长参数代表可以处理任意多个信号类型。 使用方式如下: c := make(chan o 阅读全文

posted @ 2020-04-15 15:15 thotf 阅读(763) 评论(0) 推荐(0) 编辑

os/exec 执行命令、管道
摘要:在windows执行命令 cmd0 := exec.Command("cmd.exe","/C", "dir") 前两个参数是固定的,后面+命令 在linux中 cmd0 := exec.Command("ps","aux") 也可以加入一些参数 cmd0 := exec.Command("echo 阅读全文

posted @ 2020-04-15 14:52 thotf 阅读(882) 评论(0) 推荐(0) 编辑

【ERROR】记下今天在使用time包犯的低级错误。
摘要:使用time包的时候 func (t Time) Add(d Duration) Time 我希望实现Add自定义时间 now := time.Now() z := now.Add(8*time.Second) 在平时的使用中,我们都是 用一个整型字面量和time的时间间隔类型相乘。 我希望做的是这 阅读全文

posted @ 2020-04-08 20:42 thotf 阅读(213) 评论(1) 推荐(1) 编辑

go标准库sync/atomic
摘要:atomic 是提供原子操作的模块。 所谓原子是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束不会切换其他线程。 上标准库: 还有这个 atmoc.Value 这是原子值 后面会写很重要,不知道为什么标准库文档里没看到。 标准库上面的所有操作看函数名就很清楚了, ADD、stor 阅读全文

posted @ 2020-04-07 12:59 thotf 阅读(238) 评论(0) 推荐(0) 编辑

vscode配置golang
摘要:https://www.cnblogs.com/Leo_wl/p/8242628.html https://www.cnblogs.com/angelyan/p/10400789.html 主要看了这两篇文章,其中godef一直安装失败 在失败目录根据错误地址 先git clone下来然后 在ins 阅读全文

posted @ 2019-12-05 17:50 thotf 阅读(250) 评论(0) 推荐(0) 编辑

标准库path源码解读
摘要:先看标准库 作用:关于路径的一些实用操作 https://github.com/golang/go/blob/master/src/path/path.go 源码地址 func IsAbs func IsAbs(path string) bool IsAbs返回路径是否是一个绝对路径。 源码如下: 阅读全文

posted @ 2019-11-27 16:10 thotf 阅读(203) 评论(0) 推荐(0) 编辑

标准库bufio个人详解
摘要:本文是我有通俗的语言写的如果有误请指出。 先看bufio官方文档 https://studygolang.com/pkgdoc文档地址 主要分三部分Reader、Writer、Scanner 分别是读数据、写数据和扫描器三种数据类型的相关操作 这个扫描后面会详细说我开始也没弄明白其实很简单。 Rea 阅读全文

posted @ 2019-11-25 21:18 thotf 阅读(1055) 评论(0) 推荐(1) 编辑

标准库flag和cobra
摘要:package main import "flag" var b bool var q *bool func init(){ var b bool //方式一 flag.Type()*Type Type可以使bool stringint Duration q = flag.Bool("q",fals 阅读全文

posted @ 2019-11-23 16:55 thotf 阅读(763) 评论(0) 推荐(0) 编辑

go语言学习笔记(二)
摘要:整数 有符号整数 int8 int16 int32 int64 无符号整数 uin8 uin16 uin32 uin64 无符号整数 uintptr可以进行运算这点很重要请了解unsafe包,大小不明确,足以完整存放指针,uinptr只用于底层编程。 rune 类型是int32的同义词,常常用于指明 阅读全文

posted @ 2019-11-18 14:54 thotf 阅读(147) 评论(0) 推荐(0) 编辑

golang学习笔记(一)
摘要:我的go语言完全是自学,所以将市面上所有能买到的golang书籍都买来看了。 基础都已研究完毕今天开始做总结,并且开始阅读go高级编程和进行实战演练。 go程序 4个主要声明 var、type、const、fun 包级别实体不仅对声明的包中可见,对同一个包所有源文件均可见。 变量声明 如 var n 阅读全文

posted @ 2019-11-11 15:34 thotf 阅读(157) 评论(0) 推荐(0) 编辑

排错:golang运行http服务器直接挂掉无错误提示
摘要:<!--StartFragment --> <!--StartFragment --> <!--StartFragment --> <!--StartFragment --> 一运行就退出一运行就退出,没有报错提示检查代码也没有问题。 代码也没问题,原来是端口被占用了,改成8888就正常了 <!-- 阅读全文

posted @ 2019-08-14 16:55 thotf 阅读(721) 评论(0) 推荐(0) 编辑

ubantu安装golang 与配置nvim
摘要:golang下载地址 https://golang.google.cn/dl/ tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz // (1)用户级别配置 sudo vi $HOME/.profile export PATH=$PATH:/usr/ 阅读全文

posted @ 2019-08-06 20:38 thotf 阅读(375) 评论(0) 推荐(0) 编辑

1

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示