静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言
net/http:每个连接由一个独立的 goroutine 处理。对于海量并发连接,goroutine 的调度开销虽然小,但依然存在。
在前面的文章中,我们学会了如何搭建基础的Web服务和处理路由。现在该深入了解HTTP请求的核心——Request对象了。每个HTTP请求都包含丰富的信息:URL...
在前面的文章中,我们了解了Handler接口的工作原理。现在该深入探讨Web应用的核心问题:如何将不同的URL请求分发到对应的处理函数?这就是路由的作用。
在上一篇文章中,我们搭建了Go开发环境并创建了第一个Web应用。你可能注意到,仅仅几行代码就能启动一个HTTP服务器,这背后的功臣就是Go标准库中的net/ht...
这第一篇不求复杂,只要跑起来。你能在本机启动一个小小的 HTTP 服务,返回一段文本或 JSON,就算开了个好头。下面的内容重点是环境准备与第一个 Web 应用...
米娜桑,日常开发里,有谁是没有跟文件上传下载打交道的?图片、视频、日志、备份……这些往哪儿搁?一个很不错的选择就是对象存储,而 MinIO 就是其中的明星选手。
命令行工具在日常开发中用得很多,比如git、docker这些我们天天用的工具。Go语言写命令行程序特别方便,语法简单,编译后就是一个可执行文件,部署起来很轻松。
在网络安全和系统管理工作中,端口扫描器是个很实用的工具。它能帮我们快速检测目标主机开放了哪些端口,进而了解系统运行的服务和可能存在的安全问题。
端口扫描器在网络安全和系统管理中扮演着重要角色。通过扫描目标主机的端口状态,我们可以了解系统运行的服务,发现潜在的安全漏洞。
在现代软件开发中,分布式架构已经成为主流。Go语言凭借其出色的并发性能和简洁的语法,在分布式系统开发中占据重要地位。
分布式系统已经成为现代软件架构的核心。它通过多台计算机协同工作,实现更高的性能、可用性和扩展性。Go语言凭借出色的并发特性、快速编译和简洁语法,在分布式系统开发...
分布式系统听起来很复杂,但用Go来实现其实没那么难。今天我们来搭建一个完整的分布式系统,包含服务注册、服务发现、负载均衡和健康检查等核心功能。
经过多年的工作,我们的精神导师John领悟了java那一套docker in docker的艺术并带到golang项目架构设计中。
" Channel 不建议随便设大值,优先无缓冲(size0)或 size1 ",核心是回到 Go Channel 的设计初衷 —— 用于 goroutine ...
想象一下这个场景:你的服务器正在处理一些用户的请求,这时你需要重启或关闭服务(例如发布新版本)。你直接用 Ctrl+C 或者 kill -9 很粗暴的终止进程,...
当函数执行到defer语句时(注册时),他会立即求值此时该函数调用的参数并将此次函数调用(包括已求值的参数)放到一个延迟调用表中。这个调用函数与goroutin...
go.work 是 Go 语言从 Go 1.18 版本开始引入的工作区(workspace)功能,用于管理 多个模块(packages) 的开发环境。它允许你在...
我用最直白的话帮你解读 DeepSeek 的模型和价格,就像逛超市看商品标签一样简单:
上例中,传入 reflect.ValueOf() 函数的其实是x的值,而非x本身。即通过v修改其值是无法影响x的,也即是无效的修改,所以 golang 会报错。
2、如果slice容量大于等于1024,采用1.25倍,则新的slice容量将扩大为原来的1.25倍