您的位置:首页关键词: Golang
  • golang 打印error的堆栈信息操作
    众所周知,目前的golang error只关注Error()信息,而不关注它的堆栈路径,对错误的定位大多数通过log.SetFlags(log.Llongfile| log.LstdFlags)log.Println(e)一旦代码分层,为了定位错误,可能出现每一个层次的同一个error,都得log好...
    日期:2023-10-21浏览:390
    标签: Golang
  • 解决golang结构体tag编译错误的问题
    写了一个带标签的结构体type server struct{ XMLName xml.Name ’xml:'server'’}解决编译错误field tag must be a string,后来发现是后面标签上引号不正确,不应该是回车键旁边的单引号,而是数字键1旁边的单引号type serv...
    日期:2023-10-20浏览:70
    标签: Golang
  • golang DNS服务器的简单实现操作
    简单的DNS服务器提供一个简单的可以查询域名和反向查询的DNS服务器。dig命令主要用来从 DNS 域名服务器查询主机地址信息。查找www.baidu.com的ip (A记录):命令:dig @127.0.0.1 www.baidu.com根据ip查找对应域名 (PTR记录):命令:dig @127...
    日期:2023-10-22浏览:10
    标签: Golang
  • golang coroutine 的等待与死锁用法
    直接上代码:1. 第一种情况如果没有select{}, main 主线程不会等待coroutine运行,导致coroutine得不到机会运行。You are requesting eventual scheduling (using the two go statements)of two goro...
    日期:2023-10-22浏览:335
    标签: Golang
  • Golang中的sync包的WaitGroup操作
    sync的waitgroup功能WaitGroup使用多线程时,进行等待多线程执行完毕后,才可以结束函数,有两个选择channelwaitgroup首先使用channelfunc add (n *int , isok chan bool){for i :=0 ;i <1000 ; i ++ {...
    日期:2023-10-28浏览:108
    标签: Golang
  • Golang 删除文件并递归删除空目录的操作
    目的:删除文件之后,如果目录为空,递归删除为空的目录。svr.dataDir指目录的最外层,递归删除目录的时候判断到这一层即可。eg:/Users/danny/datafunc deleteFileOnDisk(localPath string) { log.Debugf('remove fi...
    日期:2023-10-24浏览:97
    标签: Golang
  • golang slice元素去重操作
    合并两个整型切片,返回没有重复元素的切片,有两种去重策略1. 通过双重循环来过滤重复元素(时间换空间)// 通过两重循环过滤重复元素func RemoveRepByLoop(slc []int) []int { result := []int{} // 存放结果 for i := ra...
    日期:2023-10-22浏览:470
    标签: Golang
  • 解决Golang中goroutine执行速度的问题
    突然想到了之前一直没留意的for循环中开goroutine的执行顺序问题,就找了段代码试了试,试了几次后发现几个有意思的地方,我暂时没有精力往更深处挖掘,希望有golang大神能简单说一说这几个地方是怎么回事。代码:package main import 'fmt' func Count(ch c...
    日期:2023-10-20浏览:370
    标签: Golang
  • Golang全局变量加锁的问题解决
    如果全局变量只读取 那自然是不需要加锁的如果全局变量多进程读,多进程写,那自然是需要加读写锁的但是如果全局变量只有一个进程写,其他进程读呢? 如果采用COW的方式,写进程只是通过单次赋值的方式来更新变量,是否就可以不加锁了呢?就第三种情况而言:当然我们通过 go build -race 或者 go ...
    日期:2023-10-13浏览:326
    标签: Golang