0.1、索引 https://waterflow.link/articles/1663921524839 通过使用一些通用代码来节省时间,而无需单独实现它们。以下是一些开发中经常会用到的函数实现的列表。 1、检查数组中元素是否存在 Golang 没有预定义的函数来检查数组中元素的存在。以下代码片段为您完成相同的工作。 很简单,遍历一遍数组检查元素是否存在。 package main import "fmt" func main() { slice := []string{"apple&…
0.1、索引 https://waterflow.link/articles/1663921524839 通过使用一些通用代码来节省时间,而无需单独实现它们。以下是一些开发中经常会用到的函数实现的列表。 1、检查数组中元素是否存在 Golang 没有预定义的函数来检查数组中元素的存在。以下代码片段为您完成相同的工作。 很简单,遍历一遍数组检查元素是否存在。 package main import "fmt" func main() { slice := []string{"apple&…
本项目基于 ouqiang/gocron,在原有的定时任务管理的基础上,新增的进程管理模块,LDAP 用户认证功能,新增了项目管理功能用来对主机和任务进行分组管理,并使用 Element Plus + Vue3 重构了前端页面 本项目基于 ouqiang/gocron,在原有的定时任务管理的基础上,新增的进程管理模块,LDAP 用户认证功能,新增了项目管理功能用来对主机和任务进行分组管理,并使用 Element Plus + Vue3 重构了前端页面 部分截图 测试地址 测试地址 https://gocron-te…
Goravel 是一个功能完备、具有良好扩展能力的 Web 应用程序框架。作为一个起始脚手架帮助 Golang 开发者快速构建自己的应用。 首先,让我们定义一个规则:用户只能访问自己创建的文章。 facades.Gate.Define("update-post", func(ctx context.Context, arguments map[string]any) *access.Response { user := ctx.Value("user").(models.Us…
Excelize 是 Go 语言编写的 Excel 文档基础库,2022年8月22日,社区正式发布了 2.6.1 版本,该版本包含了多项新增功能、错误修复和兼容性提升优化。 Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式,高度兼容带…
这本书是写什么的? 这是一本 Go 语言快速入门手册,目标读者是有任一编程语言基础,希望以最快的时间 (比如一个周末) 入门 Go 语言。 这本书应该怎么读? 书中几乎没有较长篇幅的理论知识,更多的是 示例驱动开发,鼓励读者通过快速实践加深基础理解,加快学习速度。 全书按照章节顺序阅读即可,其中一些需要前置知识的小节都会有备注信息。 这本书有什么特别的? 在学习 Go 语言的初期,笔者几乎阅读了网络上所有人气较高的 Go 入门书籍 和 Go 入门教程,但是这些资料或多或少存在以下问题: 内容存在过多的概念描述,代码…
验证用户输入的数据是我们开发中最常见的需求,Goravel 提供三种验证姿势,个个简单好用! 第一种:简单直接式 根据表单内容直接校验: func (r *PostController) Store(ctx http.Context) { validator, err := ctx.Request().Validate(map[string]string{ "title": "required|max_len:255", "body": "req…
1. 简介 本文的主要内容是介绍Go中Mutex并发原语。包含Mutex的基本使用,使用的注意事项以及一些实践建议。 2. 基本使用 2.1 基本定义 Mutex是Go语言中的一种同步原语,全称为Mutual Exclusion,即互斥锁。它可以在并发编程中实现对共享资源的互斥访问,保证同一时刻只有一个协程可以访问共享资源。Mutex通常用于控制对临界区的访问,以避免竞态条件的出现。 2.2 使用方式 使用Mutex的基本方法非常简单,可以通过调用Mutex的Lock方法来获取锁,然后通过Unlock方法释放锁,示…
1.什么是Golang Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go支持面向对象,而且具有真正的闭包(closures)和反射 (reflection)等功能。 2.谷歌为什么要创造Go语言 1.计算机硬件技术更新频繁,性能提高很快。目前主流的编程语言发展明显落后于硬件,不能合理利用多核多CPU的优势提升软件系统性能。 2.软件系统复杂度越来越高,维护成本越来越高,目前缺乏一个足够简洁高效的编程语言。【现有的编程语言:1.风格不统一 ⒉计算能力不够 …
Golang只有二十五个系统保留关键字,二十几个系统内置函数,加起来只有五十个左右需要记住的关键字,纵观编程宇宙,无人能出其右。其中还有一些保留关键字属于“锦上添花”,什么叫锦上添花?就是从表面上看,就算没有,也无伤大雅,不影响业务或者逻辑的实现,比如lambda表达式之类,没有也无所谓,但在初始化数据结构的时候,我们无法避免地,会谈及两个内置函数:New和Make。 New函数 假设声明一个变量: package main import "fmt" func main() { var a st…
我的Go并发之旅。本节介绍Sync包中的WaitGroup、Mutex、Cond、Once、Pool,以及Channel通道的使用哲学。 注:本文所有函数名为中文名,并不符合代码规范,仅供读者理解参考。 Goroutine Go程不是OS线程,也不是绿色线程(语言运行时管理的线程),而是更高级别的抽象,一种特殊的协程。是一种非抢占式的简单并发子goroutine(函数、闭包、方法)。不能被中断,但有多个point可以暂停或重新进入。 goroutine 在它们所创建的相同地址空间内执行,特别是在循环创建go程的时候…