golang

Golang 多版本管理(g工具)

一、前言 由于某种原因,需要使用多种版本的 Golang,发现网络上一些发布时期较新的教程,却还是和早期的教程相似,故写一篇记录一下 Windows 如何小白式安装 g 工具,管理多版本 Golang。 二、下载 官方 github 下载地址: https://github.com/voidint/ ......
版本 工具 Golang

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

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

golang中的下划线(_)用法

golang的下划线有一些不错的用法。 golang中的下划线表示忽略变量的意思,也没有产生新的变量,但是后面的表达式依然会被执行。 1.忽略返回值这个应该是最简单的用途,比如某个函数返回三个参数,但是我们只需要其中的两个,另外一个参数可以忽略,这样的话代码可以这样写: v1, v2, _ := f ......
下划线 golang

Golang标准库 container/list(双向链表) 的图文解说

Golang标准库 container/list(双向链表) 的图文解说 提到单向链表,大家应该是比较熟悉的了。今天介绍的是 golang 官方库提供的 双向链表。 1、基础介绍 单向链表中的每个节点包含数据和指向下一个节点的指针。其特点是每个节点只知道下一个节点的位置,使得数据只能单向遍历。 示意 ......
双向 container 图文 标准 Golang

Golang学习笔记(四) —— 函数

函数 函数定义 Go语言中定义函数使用 func 关键字,具体格式如下: func (接收者)函数名(参数)(返回值){ 函数体 } 其中: 接收者:只有在定义方法时,才需要设置接收者。(可选项) 函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。在同一个包内,函数名也称不能重名。 ......
函数 笔记 Golang

使用Golang Validator包实现数据验证

使用Golang Validator包实现数据验证 原创 沙蒿 程序员的碎碎念 2024-01-01 08:20 发表于北京 听全文 引言 在开发过程中,数据验证是一个非常重要的环节。它可以确保输入的数据的合法性和有效性,从而保证系统的稳定性和安全性。Golang是一种强类型的静态编程语言,它提供了 ......
Validator 数据 Golang

Golang学习笔记(三)—— 常见控制结构

Golang常见控制结构 条件语句 if语句 * 不支持三目运算符 * 可省略条件表达式括号 * 代码块左括号 必须在条件表达式尾部 * else 或 else if 必须和 上一代码块右括号 同一行 if 条件表达式1 { ... } else if 条件表达式2 { ... } else { . ......
常见 结构 笔记 Golang

Codeforces Round 918 (Div. 4) (前缀和,权值树状数组,二维偏序, python + golang)

Dashboard - Codeforces Round 918 (Div. 4) - Codeforces from collections import * def solve(): a, b, c = list(map(int, input().split())) hs = defaultdi ......
偏序 前缀 数组 Codeforces python

Golang 不使用官方基于cgo的sqlite驱动

参考以下的代码: package database import ( "Forensics_Equipment_Plugin_Manager/logger" "Forensics_Equipment_Plugin_Manager/model" "github.com/glebarez/sqlite" ......
官方 Golang sqlite cgo

Golang开发环境搭建-Vim篇

本文于2017年3月份完成,发布在个人博客网站上。 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来。 最近在研究docker的使用方法,恰好手边有一本docker源码分析的书,所以在ubuntu环境下准备了一套golang的开发环境,便于在学习docker使用的时候顺便 ......
环境 Golang Vim

Golang基础(二)

Golang基本语法和常见数据结构 变量和常量 变量声明 标准声明 var name type 批量声明 var ( name1 type1 name2 type2 ... ) 声明时初始化 var name type = value 类型推导 var name = value 短变量声明 name ......
基础 Golang

Golang合并、通过逗号拆分字符串

Golang开发常用函数 将逗号分隔的字符串转换为数组,将数组slice 转为逗号分隔的string字符串,以及strings的其他函数。 一、Go开发中最常用函数 1.将数组slice转为逗号分隔的string字符串 strings.Join(a []string, sep string) str ......
逗号 字符串 字符 Golang

golang对map排序

golang中map元素是随机无序的,所以在对map range遍历的时候也是随机的,不像php中是按顺序。所以如果想按顺序取map中的值,可以采用以下方式: import ( "fmt" "sort" ) func main() { m := make(map[int]string) m[1] = ......
golang map

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

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

【golang】怎么在Go语言中实现锁机制

Go语言的锁 在Go语言中,最常用的锁是互斥锁(Mutex)。互斥锁是一种特殊的二进制信号量,用于控制对共享资源的访问。Go语言通过标准库中的"sync"包提供了互斥锁的功能。互斥锁的类型定义如下: type Mutex struct { state int32 sema uint32 } 其中st ......
机制 语言 golang

【Golang】Golang的跳一跳

一、基本概念 在Go语言中,代码跳转是指从一个位置跳转到另一个位置。一般而言,我们可以通过函数调用进行代码跳转,也可以通过goto语句进行跳转。不同的跳转方式有不同的适用场景。 二、函数调用 函数是Go语言中的基本构建块之一。调用函数时,程序的执行流程会跳转到被调用的函数中,并在函数执行完毕后返回到 ......
Golang

【golang】Go语言中interface类型怎么使用

1、Go语言中interface类型的定义 在Go语言中,interface类型是一个抽象的类型,它是一组方法签名的集合,只要某个类型实现了这些方法,它就属于该interface类型。 在Go语言中定义一个interface类型的方法,需要使用 interface 关键字。下面是interface类 ......
interface 语言 类型 golang

【golang】Go语言实现数据转发功能

首先,我们需要考虑数据实体的格式。在许多情况下,使用JSON格式最为方便。Go语言中有一个标准库“encoding/json”可以提供JSON编解码功能。我们可以使用它来将我们的数据序列化为JSON格式,并将其发送到目标组件中。 接下来,我们需要选择一种合适的网络协议来实现数据传输。常用的协议有TC ......
语言 功能 数据 golang

Golang秒读32GB大文件,如何读取?

在Go中,处理大文件时,一般采用分块读取的方式,以避免一次性加载整个文件到内存中。以下是读取大文件的简洁步骤: 1 打开文件: 使用os.Open打开文件。 file, err := os.Open("largefile.txt")if err != nil { log.Fatal(err)}def ......
文件 Golang 32 GB

Golang基础(一)

Golang基础(一) Go语言的特性 一、并发编程 不同于传统的多进程或多线程,golang的并发执行单元是一种称为goroutine的协程。其在语言级别提供关键字: go——用于启动协程。 chan——golang中用于并发的通道,用于协程的通信。 select——golang提供的多路复用机制 ......
基础 Golang

golang中汇编语义

bito> TEXT main.main(SB) D:/main.go main.go:12 0xea7580 493b6610 CMPQ 0x10(R14), SP main.go:12 0xea7584 0f8691000000 JBE 0xea761b main.go:12 0xea758a ......
语义 golang

go-carbon v2.3.0 圣诞特别版发布,轻量级、语义化、对开发者友好的 Golang 时间处理库

go-carbon v2.3.0 圣诞节特别版发布,这应该是 2023 年的最后一个版本,祝大家圣诞节快乐! carbon 是一个轻量级、语义化、对开发者友好的 golang 时间处理库,支持链式调用。 目前已被 awesome-go 收录,如果您觉得不错,请给个 star 吧 github.com ......
轻量 轻量级 语义 开发者 go-carbon

golang 项目开发如何创建 Module

golang 项目开发如何创建 Module 原创 demo007x 知识派 2023-12-22 08:30 发表于北京 听全文 golang 项目开发如何创建 Module img 为什么要创建一个 Module? 我们日常开发程序的时候都会引入第三方的 package,使用第三方的 packa ......
项目开发 项目 golang Module

详解 golang 中获取变量类型的3种方法

package main import ( "fmt" "reflect" ) func main() { var num float64 = 3.14 // 方法1: println(reflect.TypeOf(num).Name()) // 方法2: fmt.Println(reflect.T ......
变量 类型 方法 golang

Golang协程池ants

官方示例 package main import ( "fmt" "github.com/panjf2000/ants/v2" "sync" "sync/atomic" "time" ) var sum int32 func myFunc(i interface{}) { n := i.(int32 ......
Golang ants

Golang压测ws

package main import ( "fmt" "log" "sync" "time" "github.com/gorilla/websocket" ) func main() { // 设置要压测的WebSocket服务地址 url := "ws://192.168.252.128:808 ......
Golang

golang 的github.com/sony/sonyflake IP问题bug

使用容器部署golang项目时,饮用了 github.com/sony/sonyflake 生成snow id,初始化时不传入任何参数: SnowId = sonyflake.NewSonyflake(sonyflake.Settings{}) 在容器的ip设置设置为类似:192.18.10.8时, ......
sonyflake golang github 问题 sony

Golang实现JAVA虚拟机-运行时数据区

原文链接:https://gaoyubo.cn/blogs/8ae1f4ca.html 前置 Golang实现JAVA虚拟机-解析class文件 一、运行时数据区概述 JVM学习: JVM-运行时数据区 运行时数据区可以分为两类:一类是多线程共享的,另一类则是线程私有的。 多线程共享的运行时数据区需 ......
数据 Golang JAVA

Golang实现JAVA虚拟机-解析class文件

原文链接:https://gaoyubo.cn/blogs/de1bedad.html 前言 所需前置知识为:JAVA语言、JVM知识、Go笔记 对应项目:jvmgo 一、准备环境 操作系统:Windows 11 1.1 JDK版本 openjdk version "1.8.0_382" 1.2 G ......
文件 Golang class JAVA

Golang 常用工具记录

Golang 常用工具记录 1 golang 类 1.1 日常使用的 copier 复制结构体到另外一个结构体 等等类似的功能 asynq Go中简单、可靠、高效的分布式任务队列,使用 redis 做为 broker machinery Machinery是基于分布式消息传递的异步任务队列/作业队列 ......
常用工具 常用 工具 Golang
共784篇  :2/27页 首页上一页2下一页尾页