golang mod go

Go 语言为什么不支持并发读写 map?

大家好,我是 frank ,「 Golang 语言开发栈」公众号作者。 01 介绍 在 Go 语言项目开发中,我们经常会使用哈希表 map,它的时间复杂度是 O(1),Go 语言中的 map 使用开放寻址法避免哈希碰撞。 Go 语言中的 map 并非原子操作,不支持并发读写操作。 Go 官方认为 m ......
语言 map Go

Go标准库:Go template用法详解

本文只介绍template的语法和用法,关于template包的函数、方法、template的结构和原理,见:深入剖析Go template。 入门示例 以下为test.html文件的内容,里面使用了一个template语法{{.}}。 <!DOCTYPE html> <html> <head> < ......
template 标准

2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放

2024-01-13:用go语言,现在有一个打怪类型的游戏,这个游戏是这样的,你有n个技能, 每一个技能会有一个伤害, 同时若怪物小于等于一定的血量,则该技能可能造成双倍伤害, 每一个技能最多只能释放一次,已知怪物有m点血量。 现在想问你最少用几个技能能消灭掉他(血量小于等于0)。 技能的数量是n, ......
技能 双倍 怪物 同时 语言

我开源了一个 Go 学习仓库

这个学习仓库中核心包含《The Go Programing Language》一至八章讲解与分析,同时同步收录往期公众号和博客的精彩文章,更有电子书和建立模板供大家参考学习。 ......
仓库 Go

go的并发梳理

Golang不可不知的7个并发概念 原创 俞凡 DeepNoMind DeepNoMind 2024-01-06 13:10 发表于上海 3人听过 并发性支持是Golang最重要的原生特性之一,本文介绍了Golang中和并发性相关的7个概念。原文: Golang: 7 must-know concu ......

golang进程(主线程)与协程

概念 主线程:golang 中的主线程(在go中主线程就是进程,相比与其他编程语言叫法不一样) 协程:golang中协程是轻量级的线程(相比于其他语言,只有进程和线程);python中有进程和线程的概念,也有协程的概念;python中的协程通过async 来实现 并发与并行的概念 并发:在一个cpu ......
线程 进程 golang

go语言多态中的类型断言

类型断言案例 package main import ( "fmt" ) type Usb interface{ Connect() DisConnect() } type Phone struct{ Name string } /* * Phone实现了Usb 接口(是指实现了Usb接口的所有方法 ......
语言 类型

Go语言defer的延迟执行机制

1 题目(单选题) 如下Go语言程序的输出结果是() package main import "fmt" func f1(name string) string { fmt.Println("in f1", name) return name } func f2(name string) strin ......
机制 语言 defer

Go函数的定义个细节梳理

func 函数名(参数列表{参数名1 类型,参数名2,类型})(返回值列表{返回值名1 类型,返回值名2 类型}){ 方法体 } 细节梳理: 函数的形参列表可以是多个,返回值列表也可以是多个。 形参列表和返回值列表的数据类型可以是值类型和引用类型。 函数的命名遵循标识符命名规范,首字母不能是数字,首 ......
函数 细节

go使用jwt创建token并验证token的有效性

一、概述 Go使用jwt创建token,验证登录用户的合法性 导入jwt包 go get github.com/dgrijalva/jwt-go 二、代码示例 1.创建token及解析token package token import ( "fmt" "go_workspace/entity" " ......
token 有效性 jwt

go-carbon v2.3.5 发布,轻量级、语义化、对开发者友好的 golang 时间处理库

carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbon 安装 ......
轻量 轻量级 语义 开发者 go-carbon

java中的多态与golang中的多态

多态是面向对象编程的一个重要特征。它允许不同类型的对象对同一方法进行不同的实现。具体来说,多态性指的是通过父类的引用变量来引用子类的对象,从而实现对不同对象的统一操作。 java中多态通过继承实现,在go语言中,多态通过接口实现 java多态案例 package org.example; class ......
golang java

golang 定义接口

一、定义接口语法 type 接口名 interface { method1(参数列表) 返回值列表 method2(参数列表) 返回值列表 } 接口中所有方法都没有方法体 接口中不能包含任何变量 golang中没有implements 关键字,因此不需要显示的去实现接口;在golang中只要一个变量 ......
接口 golang

Golang throttled是一个基于GCRA的速率限制库

Golang throttled是一个基于GCRA的速率限制库 原创 Eagle1949 技术源泉 2024-01-07 07:01 发表于河南 1人听过 Throttled包实现了对HTTP端点等资源的速率限制访问。它使用通用信元速率算法(GCRA)来限制对资源(如HTTP端点)的访问,从而实现速 ......
速率 throttled Golang GCRA

从错误中学习: 了解Go编程的6个坏习惯

从错误中学习: 了解Go编程的6个坏习惯 原创 俞凡 DeepNoMind DeepNoMind 2024-01-07 10:35 发表于上海 Go编程的某些实践容易被误用或忽视,了解这些特性的特点和陷阱,可以帮助我们编写更好的代码。原文: 5+ BAD Practices In Go: Learn ......
错误 中学

go 实现一个接口

Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 package main import ( "fmt" ) type Phone interface { call() } type NokiaPhone struct { ......
接口 go

golang利用helm的sdk写一个chats转换成yaml文件

chats_dir: 就是 helm pull下来的仓库 可以用命令直接生成 helm3 template chats_dir --release-name hank 可以变成yaml文件,然后就可以直接apply了 下面利用helm的sdk把chats生成yaml代码 package main i ......
文件 golang chats helm yaml

Go+Gin+xorm+MySql实现增删改查

一、概述 承接上一篇(ps:原生增删改查),本篇使用xorm实现增删改查。 之所以要使用xrom是因为xrom可以极大的缩小操作数据库的成本。 使用rom之前需要导入响应的包 go get github.com/go-xorm/xorm #安装xorm go get xorm.io/core go ......
MySql xorm Gin Go

Golang 监控文件夹内文件的增删改(包括子文件夹)

1 package main 2 3 import ( 4 "crypto/md5" 5 "fmt" 6 "go-admin/log" 7 "os" 8 "path/filepath" 9 "time" 10 11 "github.com/fsnotify/fsnotify" 12 ) 13 14 ......
文件 文件夹 Golang

Go语言常见错误| 将接口作为返回值

Go语言常见错误| 将接口作为返回值 原创 云原生Go 源自开发者 2024-01-11 07:00 发表于广东 听全文 源自开发者 专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。 69篇原创内容 公众号 在Go语言开发过程中,一个常见的错误是错误地将 ......
接口 常见 错误 语言

Golang实现JAVA虚拟机-指令集和解释器

原文链接:https://gaoyubo.cn/blogs/f57f32cf.html 前置 Golang实现JAVA虚拟机-解析class文件 Golang实现JAVA虚拟机-运行时数据区 一、字节码、class文件、指令集的关系 class文件(二进制)和字节码(十六进制)的关系 class文件 ......
解释器 指令 Golang JAVA

go中map使用

前端插件对输出数据有要求 mydata := map[string]interface{}{ "draw": draw, "recordsTotal": num, "recordsFiltered": num, "data": list, } c.JSON(http.StatusOK, mydata ......
map

2024-01-10:用go语言,给你一个下标从 0 开始的二维整数数组 pairs 其中 pairs[i] = [starti, endi] 如果 pairs 的一个重新排列 满足对每一个下标 i

2024-01-10:用go语言,给你一个下标从 0 开始的二维整数数组 pairs 其中 pairs[i] = [starti, endi] 如果 pairs 的一个重新排列 满足对每一个下标 i ( 1 <= i < pairs.length ) 都有 endi-1 == starti , 那么 ......
下标 pairs 整数 数组 语言

Golang学习笔记(十)—— 协程调度

协程调度 调度流程 Go程序运行和调度初始化 Go 程序运行会经过以下几个阶段: 从磁盘上读取可执行文件,加载到内存 操作系统执行 runtime 包中的程序入口 runtime 执行初始化,最后调用 main 函数 上图中的流程是根据源码文件 src/runtime/asm_amd64.s 和 s ......
笔记 Golang

golang 用os.OpenFile写入文件

func main() { filename := "测试.txt" // 如果文件存在,则追加写入,如果文件不存在则新建文件写入 //f, err := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_APPEND, os.ModePerm) ......
OpenFile 文件 golang os

go的gin框架学习以及初始化---安装篇

1. 编辑器使用 vscode 设置中文,加载go语言相关插件 https://code.visualstudio.com/ 2.下载go运行环境 https://go.dev/dl/ 3.新建项目目录 bin pkg src(项目目录可存放多个项目) 每个项目文件下必须要有 go.mod 文件 4 ......
框架 gin

Go Gin+MySQL实现增删改查

一、概述 使用Gin框架+MySQL数据库实现增删改查(原生sql) 实现步骤: 1.导入Gin框架 go get -u github.com/gin-gonic/gin 2.引入MySQL驱动 go get -u github.com/go-sql-driver/mysql 3.注册Gin路由 / ......
MySQL Gin Go

LiteIDE go 错误: 进程无法启动.

一、概述 使用LiteIDE写go代码在重启项目的时候会遇到(经常性的,感觉这个款ide有点问题) go 错误: 进程无法启动. 二、解决办法 让项目运行出错一次,然后再运行就行了。 例如:你把导入的包注释掉,运行报错。然后解除注释在运行,就正常了。ps:此方法不具有普适性。 ......
进程 错误 LiteIDE go

【golang】GO之认证与授权

一般公司项目比较多,比较分散,但是对于都是公司的用户来说,用户数据一般是共享的,所以集成统一认证与授权的功能一般就必不可少,这样可以实现一个用户,分配一点权限,能访问公司很多项目. 一般的认证与授权方案有 OAuth、分布式 Session、OpenID 和 JWT 等.目前常用的是OAuth2,其 ......
golang

go 新建一个自定义包

一、概述 在go中新建一个自定义包供其他包使用。 步骤: 1.新建一个目录 2.目录下新建一个xxx.go文件 3.在xxx.go文件中使用package xxx(包名) 4.此时你的包已经新建好了 5.在需要使用上面包的地方导入即可,如:import "xxxx" ps:如果包中的内容需要对外开放 ......
go
共3060篇  :1/102页 首页上一页1下一页尾页