存档

文章标签 ‘golang’

golang中文字符编码转换

2019年1月10日 没有评论

golang默认使用的字符是UTF8,不过很多网页使用的是gbk编码,这时候就需要通过编码进行转换。具体代码如下:

package main
import "golang.org/x/text/encoding/simplifiedchinese"
type Char[......]

Read more

golang sync包互斥锁和读写锁的使用

2019年1月5日 没有评论

golang sync包里提供了 Locker接口、互斥锁 Mutex、读写锁 RWMutex用于处理并发过程中可能出现同时两个或多个协程(或线程)读或写同一个变量的情况。

一、为什么需要锁

在并发的情况下,多个线程或协程同时去修改一个变量。使用锁能保证在某一时间点内,[......]

Read more

golang channel与sync.WaitGroup同步

2019年1月3日 没有评论

golang中有2种方式同步程序,一种使用channel,另一种使用sync.WaitGroup。最近在使用golang写一个比较简单的功能 ---- host1主机需要先在本机起一个TCP监听,起来后给host2主机发送指令,让其主动给host1主机监听的端口进行连接。最终使用了sync.W[......]

Read more

golang runtime进程调度函数

2018年12月24日 没有评论

尽管 Go 编译器产生的是本地可执行代码,这些代码仍旧运行在 Go 的 runtime(这部分的代码可以在 runtime 包中找到)当中。这个 runtime 类似 Java 和 .NET 语言所用到的虚拟机,它负责管理包括内存分配、垃圾回收、栈处理、goroutine、channel、切片[......]

Read more

golang下慎用log.Fatal和log.Panic

2018年12月21日 没有评论

在使用golang写代码时,在遇到err值判断的时候,我们经常会用到 log.Fatal 和 log.panic 将错误信息进行日志输出的情况,不过遇到的错误一般会有两种:

  • 一种是确实影响到了程序后面的执行,前后关联性比较强;
  • 另一种是程序[......]

Read more

su部分帐户免密码切换

2018年12月20日 没有评论

一、需求

最近业务部分希望在几百台主机上安装python expect包(pexpect),向其了解了下需求,其需求是通过4a审计平台登陆到他们业务的任一主机后(默认是user1 用户登陆),其希望可以在user1下执行某命令后,可以向user2、user3、user4几个用户免密[......]

Read more

golang plugin插件的使用

2018年12月19日 没有评论

Go 1.8 为我们提供了一个创建共享库的新工具,称为 Plugins!同时官方文档也提示了:Currently plugins are only supported on Linux and macOS 。其可以应用如下场景:

  • 通过plugin我们可以很方便的对[......]

Read more

golang TCP client自动重连

2018年12月13日 没有评论

golang简易版TCP client server 篇中简单列了下golang下的c/s模式代码,不过遇到 server 端异常时, client端也就自动退出了,这里再给出一段自动重连的代码,实现无论server端如何,client始装循环下去。所以本篇的重点是client端的代码。[......]

Read more

golang简易版TCP client server

2018年12月12日 没有评论

每个编程语言都会有socket类的编程,最常用的就是tcp c/s 和udp c/s,这里就使用golang实现一个简单的tcp server client程序,server会等待 client发送数据给他,server接收到数据后,再处理后回传给client 。具体效果如下图:

[......]

Read more

golang toolkits包的使用

2018年12月3日 没有评论

在查看 open-falcon 项目源码时,经常会看到其引用了一个类库 https://github.com/toolkits ,而仔细查看该类库的作者为秦晓辉(UlricQin)--- 原Open-Falcon主程,现滴滴云运维负责人 。所以有了这层关系就不难理解open-Falc[......]

Read more