golang
独舞人生
Everything should be simple
展开
-
创建可交互进程
go language 版本:需要依赖winpty.dll 和 winpty-agent.exewinpty.gopackage winptyimport ( "fmt" "io" "os" "syscall" "unsafe")type Options struct { // DllDir is the path to winpty.dll and winpt...原创 2019-12-28 16:02:06 · 679 阅读 · 0 评论 -
golang连接ssh远程执行命令
直接上代码:package mainimport ( "bufio" _ "bytes" "fmt" "golang.org/x/crypto/ssh" "log" "os")type MyReader struct {}var cmdChannel = make(chan string)func (r MyReader)Read(p []byte) (n i...原创 2019-09-22 20:16:46 · 3749 阅读 · 0 评论 -
golang实现ini配置(config)文件解析
直接上代码:package mainimport ( "bytes" "fmt" "os" "strings")/*解析ini文件*/func nIndex(str string, c rune, count int) []int { res := make([]int, 0) amount := 0 for i, s := range str { if a...原创 2019-09-07 16:37:47 · 1305 阅读 · 0 评论 -
golang实现文件传输
服务段代码:package mainimport ( "bytes" "fmt" "io/ioutil" "net" "os" "os/exec" "runtime" "strconv" "strings" "syscall")func initEnv(i ...int) { c:=1 if len(i) == 0 { if runtime.GOOS==...原创 2019-09-03 00:47:01 · 1943 阅读 · 0 评论 -
golang实现socket
server.go//模拟server端func main() { tcpServer, _ := net.ResolveTCPAddr("tcp4", ":8080") listener, _ := net.ListenTCP("tcp", tcpServer) for { //当有新的客户端请求来的时候,...转载 2019-09-01 22:25:02 · 590 阅读 · 0 评论 -
golang使用链表实现简单list
package mainimport ( "fmt")type Node struct { element int next *Node}type List struct { len int head *Node tail *Node}func LinkList() *List { list:=new(List) tail:=new(Node) list....原创 2019-06-04 00:19:19 · 641 阅读 · 0 评论 -
golang实现高性能strip,去除字符串两端无用字符集
直接上代码:package mainimport "fmt"func strip(s_ string, chars_ string) string { s , chars := []rune(s_) , []rune(chars_) length := len(s) max := len(s) - 1 l, r := true, true //标记当左端或者右端找到正常字符...原创 2019-06-03 20:38:31 · 8798 阅读 · 0 评论 -
golang实现简单下载器
package mainimport ( "fmt" "io" "net/http" "os" "path" "path/filepath" "regexp" "runtime" "strconv" "strings" "time")//var (// url_android string = "https://qd.myapp.com/myapp/qqteam...原创 2019-06-03 01:03:49 · 1131 阅读 · 0 评论 -
关于golang中的interface{}
在golang中,interface也是一个结构体,记录了2个指针:指针1,指向该变量的类型 指针2,指向该变量的value原创 2019-05-17 00:30:27 · 646 阅读 · 0 评论 -
golang中的interface{}转其他类型
golang中的string是可以转换为byte数组或者rune数组但是其实byte对应的类型是uint8,而rune对应的数据类型就是int32所以string可以转换为四种类型//interface转其他类型————返回值是interface,直接赋值是无法转化的 //interface 转string var a interface{} var str5 string...原创 2019-05-17 00:28:46 · 7071 阅读 · 0 评论 -
golang数组与切片
其实golang中的切片本质上就是数组,比如字符串,又或是其他类型的数组,都是支持切片的而且需要注意的是本质上golang中的数组也就是切片的长度是固定的,因为数组在内存中是连续的,所以一旦长度固定就不能再继续增加长度,否则会引起越界覆盖后面的内存数据,golang中提供了一种动态改变切片长度的方法,但这种方法的本质还是将数组的内存复制到一个新的更大的内存区域并添加新的数值...原创 2019-05-17 00:26:01 · 140 阅读 · 0 评论