存档

‘perl/php/python/gawk/sed’ 分类的存档

golang ParseForm post数据

2019年3月1日 没有评论

golang的http.Request方法中有 r.Form and r.PostForm两种请求方式。本篇就结合相关示例给出下使用golang的http模块,结合页面post方法,获取相关数据。该例子需创建两个文件form.html 和 main.go。

一、form.html[......]

Read more

gorilla mux路由创建

2019年2月28日 没有评论

使用golang可以很容易的创建restful格式的web程序。对于比较简单的应用,使用"net/http"模块多写几个函数就可以实现路由了,不过对于稍复杂一点的应用,该模块就显的不友好,这时候可以使用gorilla/mux或httproute模块实现路由,gin web框架使用的httpro[......]

Read more

golang几种post请求方式

2019年1月28日 没有评论

golang的net/http包既可以实现http server服务,也可以通过该包向http服务器发送post或get等模式的请求。上次总结过一篇 golang post和get发送请求  ,本篇基于上一篇做一些更细节场景的总结。

一、直接get请求

[......]

Read more

golang读写常见的文件类型

2019年1月19日 没有评论

一、读写xml文件

golang的"encoding/xml"模块有 xml.Unmarshal() 方法和 xml.Marshal() 方法。前者用于格式化读取 xml 文件,后者用于格式化写 xml 文件。操作之前我们先准备一个测试文件notes.xml,内容如下:[......]

Read more

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