随笔分类 -  Golang

摘要:channel死锁 package main import "fmt" func main() { ch := make(chan string) for i := 0; i < 10; i++ { s := <- ch fmt.Println(s) } go func(ch chan string 阅读全文
posted @ 2024-02-15 23:38 陈晓猛 阅读(83) 评论(0) 推荐(0) 编辑
摘要:Select select作用Go里面提供了一个关键字select,通过 select 可以监听 channel 上的数据流动。 单流程下⼀个go只能监控⼀个channel的状态,select可以完成监控多个channel的状态 有时候我们希望能够借助channel发送或接收数据,并避免因为发送或者 阅读全文
posted @ 2024-02-15 23:36 陈晓猛 阅读(76) 评论(0) 推荐(0) 编辑
摘要:1、定义channel变量 channel是Go语言中的一个核心类型,可以把它看成管道。 并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程度上又进一步降低了编程的难度。 channel是一个数据类型,主要用来解决go程的同步问题以及go程之间数据共享(数据传递)的问题。 goroutin 阅读全文
posted @ 2024-02-15 20:25 陈晓猛 阅读(354) 评论(0) 推荐(0) 编辑
摘要:Go并发 Go 在语言级别支持协程,叫goroutine。Go 语言标准库提供的所有系统调用操作(包括所有同步IO操作) 都会出让CPU给其他goroutine。这让轻量级线程的切换管理不依赖于系统的线程和进程,也不需要依赖于CPU的核心数量。 有人把Go比作21世纪的C语言。第一是因为Go语言设计 阅读全文
posted @ 2024-02-14 17:25 陈晓猛 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1、goroutine调度机制 协程并发协程:coroutine。也叫轻量级线程。与传统的系统级线程和进程相比,协程最大的优势在于“轻量级”。可以轻松创建上万个而不会导致系统资源衰竭。 而线程和进程通常很难超过1万个。这也是协程别称“轻量级线程”的原因。一个线程中可以有任意多个协程,但某一时刻只能有 阅读全文
posted @ 2024-02-13 22:05 陈晓猛 阅读(99) 评论(0) 推荐(0) 编辑
摘要:编程语言中反射的概念在计算机科学领域,反射是指一类应用,它们能够自描述和自控制。 也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-representation)和监测(examination), 并能根据自身行为的状态和结果,调整 或 修改应用所描述行为的状态和相关的语义。每种语 阅读全文
posted @ 2024-02-13 20:44 陈晓猛 阅读(597) 评论(0) 推荐(0) 编辑
摘要:5、defer defer语句被用于预定对一个函数的调用。可以把这类被defer语句调用的函数称为延迟函数。 defer的实际应用场景, 例如defer语句会将其后的函数调用推迟到当前函数执行结束时执行。这个特性常用于处理成对的操作,如打开/关闭文件、获取/释放锁、连接/断开连接等,确保资源被适当地 阅读全文
posted @ 2024-02-12 23:21 陈晓猛 阅读(41) 评论(0) 推荐(0) 编辑
摘要:1、从一个main函数初见golang语法 package main import "fmt" func main() { /* 简单的程序 万能的hello world */ fmt.Println("Hello Go") } 终端运行 $ go run test1_hello.go Hello 阅读全文
posted @ 2024-02-11 21:44 陈晓猛 阅读(111) 评论(0) 推荐(0) 编辑
摘要:golang的优势 一、极其简单的部署方式 1、可直接编译成机器码 2、不需要依赖其他库 3、直接运行即可部署 二、静态语言类型 可在编译的时候检查出大多隐藏问题 三、语言层面的并发 1、天生的基因支持 2、充分利用多核 package main import ( "fmt" "time" ) fu 阅读全文
posted @ 2024-02-11 21:27 陈晓猛 阅读(32) 评论(0) 推荐(0) 编辑
摘要:Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://golang.google.cn/dl/ Go官网:https://golang.org/ golang在Windows安装和配置 可看链接:https://blog.csdn.net/weixi 阅读全文
posted @ 2024-02-11 20:37 陈晓猛 阅读(88) 评论(0) 推荐(0) 编辑
摘要:一、引言 学习前置要求 1、具备1种后端编程语言开发经验(C/C++/Java/Python/PHP等) 2、具备基本的网络编程能力和并发思想 3、了解计算机基本体系结构 4、了解Linux基础知识 非0基础 后端工程师快速了解Golang而设计 建立快速了解Golang语言及特点的捷径学习路线,可 阅读全文
posted @ 2024-02-11 11:01 陈晓猛 阅读(91) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示