golang
LH专属荷包
这个作者很懒,什么都没留下…
展开
-
再次搭建Dapp
在19年年末,学过一些关于搭建区块链网络的知识,但是随着时间的推移,也把这些知识从我脑海里面冲刷得一干二净,现在需要做一个demo,从头开始一步一步走起吧,现在记录在这里,以忘了再回头看。golang是搭建区块链底层的语言为什么单独拿出来说,博主最近在做车联网和区块链的融合课题,老板叫我做一个简单的demo,想着手动用纯golang实现(有其他的研友用的golang实现了区块链的简单功能),后来实现的过程中需要有udp的通信,好不容易在我以前博客里面找到了udp过程的传输,但是呢,在我最后要去广播的.原创 2020-06-06 16:09:42 · 266 阅读 · 0 评论 -
golang并发版的爬虫
package mainimport ( "fmt" "io" "net/http" "os" "strconv")var( spiderchan = make(chan bool))func main() { //爬取一个网页并保存在文件中 var start,end int fmt.Println("请输入要爬取的起始页(>=1)") fmt.Sca...原创 2019-12-13 18:37:45 · 195 阅读 · 0 评论 -
golang的http
package mainimport ( "fmt" "net/http" "os")func handlefunc(w http.ResponseWriter,r *http.Request) { //读取文件}//获取资源func getResouce(w http.ResponseWriter,r *http.Request) { //需要路径获取文件 f...原创 2019-12-13 18:07:19 · 76 阅读 · 0 评论 -
golang爬虫串行版本
package mainimport ( "fmt" "io" "net/http" "os" "strconv")func main() { //爬取一个网页并保存在文件中 var start,end int fmt.Println("请输入要爬取的起始页(>=1)") fmt.Scan(&start) fmt.Println("请输入要爬取的起始页...原创 2019-12-13 18:05:28 · 158 阅读 · 0 评论 -
golang的群聊功能
package mainimport ( "fmt" "net" _ "net/http")//首先实现用户上线的功能,最后是用户修改自己的名字var( //用chan进行读取 //alladdr = make(chan net.Addr,100) onlineMap map[string]User //Message = make(chan map[net.Addr...原创 2019-12-12 20:27:35 · 321 阅读 · 0 评论 -
golang文件的发送接收
sendpackage mainimport ( "fmt" "io" "net" "os")func sendfile(conn net.Conn,path string) { f,err:=os.Open(path)//读打开的文件 if err!=nil{ fmt.Println("os open err",err) } defer f.Close() b...原创 2019-12-11 21:51:34 · 671 阅读 · 0 评论 -
golang的udp编程
Serverpackage mainimport ( "fmt" "net" "time")func handle(conn net.UDPConn) { defer conn.Close() buff:= make([]byte,4096) for{ n,udpAddr,err2:=conn.ReadFromUDP(buff)//udpAddr是客户端的地址结构 ...原创 2019-12-11 20:31:22 · 270 阅读 · 0 评论 -
golang并发版本的tcp
serverpackage mainimport ( "fmt" "net" "strings")func hanledata(conn net.Conn) { //一直预备读数据 defer conn.Close() addr :=conn.RemoteAddr() fmt.Println("连接上客户",addr) buff := make([]by...原创 2019-12-11 16:12:44 · 376 阅读 · 0 评论 -
golang的tcp编程
Server端package mainimport ( "fmt" "net")func main() { //创建链接的套接字socket,监听地址和端口 listener,err :=net.Listen("tcp","127.0.0.1:8000")//指定服务器的ip地址和端口号 if err !=nil{ fmt.Print("尝试监听客户端失败") ret...原创 2019-12-11 15:44:54 · 132 阅读 · 0 评论 -
golang中超时处理
package mainimport ( "fmt" "time")func main() { ch1 := make(chan int) quit := make(chan bool) go func() { for{ select { case <-ch1: fmt.Printf("读取到数据\n") break case &l...原创 2019-12-10 21:43:39 · 380 阅读 · 0 评论 -
channel中的select
package mainimport ( "fmt" "time")func main() { ch1 := make(chan int,5) quit := make(chan bool,1) go func() { for i:=0;i<5 ; i++ { ch1<-i time.Sleep(time.Second) } close(c...原创 2019-12-10 21:10:00 · 227 阅读 · 0 评论 -
golang中的匿名函数
package mainimport "fmt"func adde() func(i int) int{ sum:=0 return func(i int) int{ sum = sum +i return sum }}func main() { f:= adde() for i:=0; i<10;i++ { fmt.Printf("0+1+...+%...原创 2019-12-10 20:23:34 · 194 阅读 · 0 评论 -
golang中的定时器
golang中的定时器sleepsleep这个是系统自己,无法做到定时timertype Timer struct { C <-chan Time r runtimeTimer}系统向里面写了一个时间,指定定时时长,时间到了以后系统会向c里面写一个时间,需要读出来,需要注意的是这里面系统只操作一次,不能用for循环操作。timeout...fatal ...原创 2019-12-10 20:19:27 · 122 阅读 · 0 评论