golang
文章平均质量分 63
赤狐先生
偶然的一个夜晚....步入了这个数码的世界
你!被选中了!
展开
-
go语言TCP 文件传输demo
网络文件传输 – 这里我们做一个文件传输的demo首先说一下命令行参数,这是在main函数启动时,用于向整个程序传参。语法为: go run xxx.go argv1 argv2 argv3xxx.go :第0个参数。argv1: 第1个参数。。。后面以此类推我们文件传输 发送端 分为以下几步:获取文件名 – 不包含路径建立链接 Dial发送文件名给服务器接受服务器的回执判断是否是 “ok”是ok发送文件内容conn我们首先要获取文件的属性使用函数如下 //1 提原创 2022-04-23 10:39:20 · 452 阅读 · 0 评论 -
go语言网络web编程基础 -- TCP/IP和UDP
socket 编程:在网络通信过程中,socket一定是成对出现通信过程:1.mac地址(不需要用户指定) (ARP协议)Ip —> mac2.IP地址 (需要用户指定) — 确定主机3.port端口号(需要用户指定) — 确定程序一、不能使用系统占用的默认端口。 5000+端扣我们使用(8080)二、65535为端口上限网络应用设计模式:c/s:优:数据传输效率高、协议选择灵活。缺:工作量打、安全性构成威胁。b/s:优:开发工作较小、不受平台限制、原创 2022-04-01 19:24:53 · 3525 阅读 · 0 评论 -
go语言中锁与条件变量+操作系统的pv操作
首先我们介绍一下死锁,看看它的定义死锁 : 不是一种锁,而是一种错误使用锁导致的现象1.单go程自己死锁channel应该在至少2个以上的go程中进行通信,否则死锁2.go程间channel访问顺序导致死锁使用channel一端读(写),要博阿正另一端写(读),同时有机会执行,否则死锁3.多go程,多channel交叉导致死锁A go程,掌握M的同时,尝试拿N;B go程,掌握N的同时尝试拿M2,3类型死锁的例子func main11(){ ch:= make(chan int)原创 2022-03-23 21:14:46 · 679 阅读 · 0 评论 -
Go 语言中select
select的作用:go可以监听channel上的数据流动select用法类似switch,但是select的每个case语句里必须是一个IO操作原创 2022-03-19 11:10:12 · 361 阅读 · 0 评论 -
go语言通道channel 的用法汇总
channel的定义:make(chan string):ch:= make(chan string)channel同步,数据传递:写端: ch<- “hello” ---- 写端写数据,读端不在读,阻塞读端 : buf := <-ch ---- 读端读数据,同时写端不再写,读端阻塞len(ch) : channel中剩余未读取数据个数。cap(ch) :通道的容量...原创 2022-03-18 12:00:55 · 2083 阅读 · 0 评论 -
golang 的并行与并发 入门
golang的并行和并发基本操作 -- Goroutine和channel并行: 借助多核Cpu实现。并发: 多个计算任务顺序执行,轮换使用cpu时间轮片进程并发 :程序 : 编译成功得到的二进制文件 占用 磁盘空间 。 死的进程 : 运行起来程序。占用系统资源线程并发:线程:LWP轻量级的 进程。 最小的执行单位进程:最小的系统资源分配单位同步():协同步调。规划先后顺序。原创 2022-03-14 16:31:13 · 495 阅读 · 0 评论 -
golang“拷贝指定目录的.Mp3文件” 源代码
golang 拷贝文件 源代码原创 2022-03-07 19:07:27 · 221 阅读 · 0 评论 -
golang基础底层强化
底层知识补充1.栈帧 :用来给函数运行提供内存空间,取内存于stack上,当函数调用时,产生栈帧,函数结束时,释放栈帧栈帧存储(一个函数对应一块栈帧):①局部变量。②形参。③内存字段描述值如果有函数调用,则被调用的函数产生的栈帧连续存放2.指针使用注意:空指针:未被初始化的指针,指向nil野指针:被一片无效的地址空间初始化3.在heap上申请一片内存 地址空间p1 = new(int)p2=new(string)fmt.Printf("%q",*p2) //打印go语言格式的字符串4原创 2022-03-06 11:39:21 · 595 阅读 · 0 评论