go

Go语言编程教程3-变量与常量

课程要点 了解Golang中的变量的使用 了解Golang中的常量的使用 了解变量和常量的可访问性 变量 定义变量 Golang是一门十分简约的语言,它的变量定义与其他主流语言有一定的相似之处,但是却没有像其他语言一样拥有很多可选的修饰符。 在Golang的变量定义中,我们只会用到var这一个修饰符 ......
语言编程 常量 变量 语言 教程

Go语言编程教程2-Hello World

课程要点 创建并编译运行第一个Golang程序 了解Go Module包管理系统 使用fmt.Println与println函数分别打印hello world,并了解它们的异同 了解fmt.Printf格式化输出 将Golang代码编译为汇编代码 对Golang二进制文件进行反汇编 了解交叉编译 课 ......
语言编程 语言 教程 Hello World

go-zero开发入门-网关往rpc服务传递额外数据

go-zero 的网关服务实际是个 go-zero 的 API 服务,也就是一个 http 服务,或者说 rest 服务。http 转 grpc 使用了开源的 grpcurl 库,当网关需要往 rpc 服务传递额外的数据,比如鉴权数据的时候,通过 http 的 header 进行: func Aut ......
网关 go-zero 数据 zero rpc

GO TCP代理(可代理SQLSERVER\MYSQL\ORCALE)

用nginx代理不知道为什么内网能用,外网用不了,改用go写个代理临时用下,直接上代码 package main import ( "fmt" "io" "log" "net" ) var addr string = "0.0.0.0:51415" //代理服务端口 var dest_addr st ......
SQLSERVER ORCALE MYSQL TCP GO

1go使用sqlite3

萨顶顶 package main import ( "database/sql" "fmt" "log" _ "github.com/mattn/go-sqlite3" ) func main() { db, err := sql.Open("sqlite3", "test.db") if err ......
sqlite3 sqlite 1go go

2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a到z编号为0到25编号, 纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号, 若i>1的

2023-12-13:用go语言,密码是一串长度为n的小写字母,一则关于密码的线索纸条, 首先将字母a到z编号为0到25编号, 纸条上共有n个整数ai,其中a1表示密码里第一个字母的编号, 若i>1的话就表示第i个字母和第i-1个字母编号的差值, 例如,a2就代表密码中第1个字母和第2个字母编号的差 ......
字母 密码 纸条 小写 整数

Go函数参数传递到底是值传递还是引用传递?

在函数中,如果参数是非引用类型(int、string、array、struct等),这样就在函数中就无法修改原内容数据; 如果参数是引用类型(指针、map、slice、chan等),这样就可以修改原内容数据。 是否可以修改原内容数据,和传值、传引用没有必然的关系。在C++中,传引用肯定是可以修改原内 ......
函数 参数 还是

Go语言学习笔记

Go语言入门教程: https://c.biancheng.net/golang/ Go语言的基本类型有: bool string int、int8、int16、int32、int64 uint、uint8、uint16、uint32、uint64、uintptr byte // uint8 的别名 ......
语言学习 语言 笔记

GVM管理go的版本

安装 要使用GVM(Go版本管理器)安装Golang,您可以按照以下步骤操作: 1. 安装GVM:首先,您需要在终端中运行以下命令来安装GVM: bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/b ......
版本 GVM

go-zero开发入门之网关往rpc服务传递数据

go-zero 的网关往 rpc 服务传递数据时,可以使用 headers,但需要注意前缀规则,否则会发现数据传递不过去,或者对方取不到数据。 go-zero 的网关对服务的调用使用了第三方库 grpcurl,入口函数为 InvokeRPC: grpcurl.InvokeRPC(r.Context( ......
网关 go-zero 数据 zero rpc

使用 AWS Go SDK 读取审计日志(CloudTrail)

背景 公司的海外业务需要将云上的操作读取到内部的日志文件中,永久保存,供内部审计使用。 由于之前没有用过AWS相关的SDK,在使用过程中也遇到一些困难,这里记录一下,并且总结一下过程。 代码 快速开始 代码参考地址:https://github.com/awsdocs/aws-doc-sdk-exa ......
CloudTrail 日志 AWS SDK Go

Go 语言区块链测试:实践指南

引言 Go 语言在区块链开发中的应用日益增多,凭借其简洁的语法和强大的并发支持,成为开发区块链应用的热门选择。理解和实践 Go 语言的单元测试对于保证区块链应用的质量和稳定性至关重要。 Go 单元测试简介 Go 语言内置了测试功能,不需要额外的测试框架。测试用例通常写在 _test.go 文件中,每 ......
区块 语言 指南 Go

Go语言实现GoF设计模式:适配器模式

本文分享自华为云社区《【Go实现】实践GoF的23种设计模式:适配器模式》,作者:元闰子。 简介 适配器模式(Adapter)是最常用的结构型模式之一,在现实生活中,适配器模式也是处处可见,比如电源插头转换器,它可以让英式的插头工作在中式的插座上。 GoF 对它的定义如下: Convert the ......
模式 设计模式 适配器 语言 GoF

go 聊天室

main.go 1 package main 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "net/http" 7 8 "github.com/gorilla/websocket" 9 "github.com/gorilla/mux" 10 ) 11 12 ty ......
聊天室 go

ubuntu 安装go

cd /usr/local 下载二进制压缩包 wget https://golang.google.cn/dl/go1.18.linux-amd64.tar.gz 解压 tar -zxvf go1.18.linux-amd64.tar.gz go命令写入环境变量 echo "export PATH= ......
ubuntu

Go singleflight文件 实战使用

Go中singleflight文件提供了可重复的函数调用抑制机制。通过给每次函数调用分配一个key,相同key的函数并发调用时,只会被执行一次,返回相同的结果。其本质是对函数调用的结果进行复用。一般用于缓存击穿,去除重复请求 ......
singleflight 实战 文件 Go

Go Work Stealing 机制

一、什么是 Work StealingGo语言的 Work Stealing 机制是一种用于调度协程(Goroutines)的策略,有助于充分利用多核CPU,提高并发性能,降低锁竞争,从而使Go程序更高效地运行 Work Stealing 机制的核心思想:每个操作系统线程(M)都有一个本地任务队列, ......
Stealing 机制 Work Go

Go 语言字符串使用方式与技巧

Go 语言字符串使用方式与技巧 原创 frank Golang语言开发栈 2023-12-10 23:00 发表于北京 收录于合集 #Golang语言156个 #Golang进阶学习106个 大家好,我是 frank。欢迎大家点击标题下方蓝色文字「Golang 语言开发栈」关注公众号。公众号主页点击 ......
字符串 字符 语言 方式 技巧

Go - Run a sql file on PostgreSQL using pgx

package main import ( "context" "log" "os" "github.com/jackc/pgx/v5/pgxpool" ) const DB_SOURCE = "postgresql://root:aaa@localhost:5432/zimple_bank?ssl ......
PostgreSQL using file Run sql

go-zero开发入门-API网关鉴权开发示例

本文是go-zero开发入门-API网关开发示例一文的延伸,继续之前请先阅读此文。 在项目根目录下创建子目录 middleware,在此目录下创建文件 auth.go,内容如下: // 鉴权中间件 package middleware import ( "context" "errors" "net ......
网关 示例 go-zero zero API

Go的Set实现

Go的Set实现 由于Go的内置集合中没有Set的实现,可以用map[type]struct{} 要求: 1、元素的唯一性 2、基本操作:添加、删除、判断是否存在、统计元素数量 3、可遍历集合 //声明Set type Set struct { //利用map,实现的Set集合 mapSet map ......
Set

go热加载

Skip to content cosmtrek/ air Code Issues84 Pull requests27 Discussions Actions Projects Security Insights master Breadcrumbs air / README-zh_cn.md t ......

Go-web应用部署的方式——(3)Nginx

摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。 参考:部署Go语言项目的 N 种方法 | 李文周的博客 (liwenzhou.com) 抛开宝塔面板一键部署的方式,这里记录下手动使用Nginx部署应用的过程,以及前后端是否分离的区别 1. 安装Nginx sudo ......
方式 Go-web Nginx web Go

Go-web应用部署的方式——(2)nohup、supervisor后台运行

摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。 参考:部署Go语言项目的 N 种方法 | 李文周的博客 (liwenzhou.com) 1. nohup nohup 用于在系统后台不挂断地运行命令,不挂断指的是退出执行命令的终端也不会影响程序的运行。 主流的 Lin ......
supervisor 后台 方式 Go-web nohup

Go-web应用部署的方式——(1)Docker

摘要:本系列文章记录了几种Go-web应用的部署方式,记录并解释所有相关的命令。 参考:如何使用Docker部署Go Web应用 | 李文周的博客 (liwenzhou.com) 1. 编写Dockerfile文件 # 使用基础镜像FROM golang:alpine # 设置环境变量 ENV GO ......
方式 Go-web Docker web Go

2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2

2023-12-09:用go语言,给你两个整数数组 arr1 和 arr2, 返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2 中各选出一个索引, 分别为 i 和 j,0 <= i < arr1.length 和 0 <= j ......
arr arr1 整数 数组 arr2

Go melody库基本使用

就参考如下: 基本就是初始化, 定义钩子, 跟gin绑定 var m *melody.Melody // 单例初始化 melody func initUsbMelody() { if m != nil { return } m = melody.New() cfg := &melody.Config ......
melody Go

CentOS 7.6 安装 Go 1.20.12 环境教程+更换国内源

安装 因为需要安装httpx,官方github要求使用1.20版本的Go环境,就没有安装最新的1.21。 先去官网查看:https://go.dev/dl/ 如上图,我们选择Linux amd64的(使用命令下就行,如若不能正常下载,就直接下完传上服务器也一样) wget https://go.de ......
环境 教程 CentOS 7.6 20

2023最新高级难度Go语言面试题,包含答案。刷题必备!记录一下。

好记性不如烂笔头 内容来自 面试宝典-高级难度Go语言面试题合集 问: 请深入解释Go语言的内存分配和GC(垃圾回收)机制,以及它们如何影响程序的性能。 Go语言的内存管理由内置的垃圾回收器自动进行,它将内存分为三个区域:堆、栈和全局区。栈存放局部变量、参数、返回地址等小对象,堆存放较大的对象,全局 ......
难度 答案 语言 2023

2023最新中级难度Go语言面试题,包含答案。刷题必备!记录一下。

好记性不如烂笔头 内容来自 面试宝典-中级难度Go语言面试题合集 问: 请描述一下Go语言的并发模型,并解释一下为什么它适合现代Web应用? Go语言的并发模型是基于CSP(Communicating Sequential Processes,通信顺序进程)理论,主要是通过goroutine和cha ......
难度 答案 语言 2023
共2214篇  :6/74页 首页上一页6下一页尾页