标签: Golang
编程

理解 Go 语言的空接口

629 2024-08-24 03:14:00

那么,什么是空接口?以下是来自 Go Tour 的简短引用:空接口可以保存任何类型的值。空接口由处理未知类型值的代码使用。虽然 Go 是一种静态类型语言,Go 也有一些动态类型语言(如 PHP、Ruby 和 Python)的优点。例如,在 API 的上下文中,空接口提供了仅在数据可用时才返回数据的灵活性。你不必仅仅为了这样做而设置一个有效的空值。...

详情...
编程

go get 和 go install 命令的区别

733 2024-06-28 15:59:00

go get:该命令主要用于获取并安装指定的远程包或依赖库。当执行:go get <package> 命令时,Go工具会下载指定包的源代码,并将其安装到 $GOPATH/src 目录下。如果只是想下载某个包的源代码但不需要编译可执行文件,则可以使用 `go get` 命令。go install:go install 命令用于编译并安装指定的包或可...

详情...
编程

如何将 Caddy Server 与 PHP 结合使用

2207 2023-11-14 17:10:00

Caddy 服务器是一个模块化的现代 web 服务器平台,支持自动 HTTPS 证书、QUIC 和 HTTP/2、Zstd 和 Brotli 压缩、各种现代特性以及经典的 web 服务器功能,如可配置虚拟主机、URL 重写和重定向、反向代理等。2020 年 5 月发布的当前版本 Caddy 2 对其配置语法、自动化、插件等进行了重大改进。本文介绍了如何将 P...

详情...
编程

GORM: Go 语言的 ORM 库

1016 2023-10-12 10:53:00

Golang 出色的 ORM 库旨在对开发人员友好。特性全功能 ORM关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表继承)Create,Save,Update,Delete,Find 中钩子方法支持 Preload、Joins 的预加载事务,嵌套事务,Save Point,Rollback To Save...

详情...
编程

goquery:HTML 解析器

1270 2023-10-10 16:17:00

goquery 是由 Go 实现的基于 Go 的 net/html 包和 CSS 选择器库 cascadia 的 HTML 解析库。由于 net/html 解析器需要 UTF-8 编码,goquery也同样需要,所以需要确保提供的 html 是 UTF-8 编码。为什么用 goquery?由于 net/html 解析器返回的是节点,而不是功能齐全...

详情...
编程

go-colly:快速、优雅的 Go 语言爬虫框架

2588 2023-10-08 15:19:00

Colly 提供了一个干净的接口来编写任何类型的爬虫、蜘蛛使用 Colly,可以快速从网站中提取结构化数据,这些数据可用于广泛的应用程序,如数据挖掘、数据处理或归档。特性干净的 API 快速 (单核 >1k 请/秒)管理请求延迟和每个域名的最大并发性自动 cookie 和会话处理同步/异步/并行抓取分布式爬取缓存非 unicode 响应的自动编码 Robots.txt

详情...
编程

使用 GoLang 协程处理 Laravel 队列任务

1399 2023-08-08 13:12:00

Laravel 包含一个优秀的队列组件,它允许我们将耗时的任务委派给后台进程。它使我们能够更快地响应请求,从而处理更多的请求,从而扩展我们的 web 服务。队列进程,无论优化得多么好,一次只能处理一个作业。这意味着我们需要更多的进程来同时处理更多的工作。每个工作进程都是一个 PHP 进程,每个进程都通过拥有自己的内存空间而与其他进程隔离。如果我们启动过多的进...

详情...
编程

在 Go 中如何使用 database/sql 来操作数据库

883 2023-07-18 17:31:00

在现代软件开发中,数据库扮演着至关重要的角色,用于存储和管理应用程序的数据。针对不同的数据库系统,开发人员通常需要使用特定的数据库驱动来操作数据库,这往往需要开发人员掌握不同的驱动编程接口。在 Go 语言中,好在有一个名为 database/sql 的标准库,提供了统一的编程接口,使开发人员能够以一种通用的方式与各种关系型数据库进行交互。概念database...

详情...
编程

gRPC 概述

945 2023-06-28 22:20:00

概述GRPC是一个高性能、通用的开源RPC框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发,支持众多的开发语言。gRPC 也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个 gRPC服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。gRPC使用proto...

详情...
编程

golang 微服务框架 go-micro 简介

1175 2023-06-23 23:18:00

go-micro简介Go Micro是一个插件化的基础框架,基于此可以构建微服务,Micro的设计哲学是可插拔的插件化架构在架构之外,它默认实现了consul作为服务发现,通过http进行通信,通过protobuf和json进行编码go-micro的主要功能服务发现:自动服务注册和名称解析。服务发现是微服务开发的核心。当服务A需要与服务B通话时,它需要该服务...

详情...