go
dong_beijing
向大牛们学习
展开
-
golang做文本阅读代码分析
package mainimport ( "fmt" "os" "io/ioutil" "strings")func main(){ if len(os.Args)<2 { fmt.Println("must input 1 filename") return } data,_ := ioutil.ReadFile(os.Args[1]) for n,l:=..原创 2018-02-10 20:29:54 · 447 阅读 · 0 评论 -
go编译mips程序的方法(君正M150平台)
(1)测试代码hello.go如下:package mainimport ( "fmt" "os")func main() { fmt.Println("vim-go") b := make([]byte, 1) os.Stdin.Read(b)}(2)交叉编译:GOOS=linux GOARCH=mipsle go build -ldflags "-s -...原创 2019-01-14 17:06:31 · 3370 阅读 · 0 评论 -
golang采用unix域通信的echo测试程序
golang通过unix域可以与其他进程完成进程间通信,做一个回显测试demo如下:package mainimport ( "fmt" "net" "bufio" "os")func writeUnix(listener *net.UnixConn,dstAddr *net.UnixAddr) { for { bio := bufio.NewReader(os.St...原创 2018-10-25 00:30:51 · 1430 阅读 · 0 评论 -
go get的报错unrecognized import path "golang.org/x/net/context"处理方法
问题原因是我在ubuntu 18.04上用apt geti安装的go的sdk,而GOPATH设置,net包的安装的工作没做,欠的工作还是要还的.具体处理方法如下:apt install golang-go上面是我安装go环境的方法.之后用go get的时候,会报错如下:package golang.org/x/net/context: unrecognized import ...原创 2018-10-31 11:39:51 · 9731 阅读 · 1 评论 -
golang采用udp实现telnet的功能
udp实现了个跨平台的telnet小程序,用来测试基于udp的消息收发.代码如下:package mainimport ( "fmt" "flag" "net" "strconv" "bufio" "os")func write(listener *net.UDPConn,dstAddr *net.UDPAddr) { for { bio := bufi原创 2018-10-23 23:54:09 · 1615 阅读 · 0 评论 -
golang和c通过unix域实现双向通信
go的代码如下:package mainimport ( "fmt" "net" "bufio" "os" "syscall")func writeUnix(listener *net.UnixConn,dstAddr *net.UnixAddr) { for { bio := bufio.NewReader(os.Stdin) buf,_,_:= bio.Re...原创 2018-10-26 00:16:49 · 2688 阅读 · 0 评论 -
ubuntu18.04上安装配置golang开发环境(goland做IDE)
1 安装go的sdkapt install golang-go2 官网下载goland-2018.1.5.tar.gz3 运行安装脚本cd /root/Downloads/goland-2018.1.5/GoLand-2018.1.5/bin./goland.sh4 选择goland license server激活,这一步比较易变,因为域名经常被封,导致激活失败,有一个...原创 2018-08-13 21:52:21 · 8195 阅读 · 0 评论 -
go的函数传参和指针
go的函数传参默认是值类型,想要按引用传参,那么需要的就是传指针,go的传指针类似于c++的传引用,指针并不能改变,因为指针的地址也是按值传递的.看测试代码如下:package mainimport ( "fmt")type foo struct { a int}func update1(f foo){ f.a=2}func update2(f *foo) *foo{...原创 2018-08-15 23:08:25 · 2288 阅读 · 0 评论 -
go传函数指针给c完成回调通知
用c编写动态库如下:#include <stdio.h> #include <unistd.h>// 将函数名作为指针的格式为:int (*ptr)(char *str) 即:返回值(指针名)(参数列表)typedef int (*fnc)(int); // 回调函数的名称为 fnc,参数是inttypedef int (*fnc2)(char*); // 回调函数...原创 2018-03-27 23:54:35 · 6999 阅读 · 4 评论 -
go与c混合编程的基本流程
写好hello.c文件#include <stdio.h>#include "hello.h"void print(){ printf("hello from c\n");}写好so的接口头文件hello.hvoid print();编译成.so,起名是libhello.sogcc hello.c -fPIC -shared -o libhello.so编写go文件,hg.g...原创 2018-03-21 17:24:53 · 4992 阅读 · 0 评论 -
cannot find package "golang.org/x/text/..." 或者"golang.org/x/net/..."的解决方法
(1)在github上,找golang的托管代码,应该是在github.com/golang下,找一下text或者net的目录。(2)下载下来,拷贝到$GOROOT/src/golang.org/x下面对应的目录下,就ok了...原创 2018-03-22 14:14:40 · 7521 阅读 · 3 评论 -
golang的协程和通道的分析
golang 协程 chan 通道 管道原创 2018-02-23 20:07:12 · 894 阅读 · 0 评论 -
golang创建gif图片代码
采用golang的image,image/gif包很容易创建gif图片,参考艾伦的书,写demo如下:package mainimport ( "image" "image/color" "image/gif" "os")var palette=[]color.Color{color.White,color.Black,color.RGBA{0x22,0xCC,0x33,0xff}...原创 2018-02-21 14:20:27 · 1898 阅读 · 1 评论 -
golang取网络包字节的方法(例如RTP的序列号)
思路:用byte的数组取字节,用binary做字节序转换操作.示例:以RTP的取seq号为例,RTP的seq是udp的第3,4个字节,用16位表示,网络序.代码如下:for { length, udpaddr, err := conn.ReadFromUDP(buf) if err != nil { return } seqbuf := make([]byt...原创 2019-01-15 20:08:38 · 1332 阅读 · 0 评论