newticker go

Go中flag用法

`flag` 包实现了命令行标志解析。 使用 `flag.String()`, `Bool()`, `Int()` 等定义标志。 这声明了一个整数标志 `-n`,存储在指针 `nFlag` 中,类型为 `*int`: ```go import "flag" var nFlag = flag.Int( ......
flag

Go语言中的flag

Go 语言的 `flag` 包提供了一个简单的方式来定义和解析命令行参数。以下是如何使用 `flag` 包的基本步骤和示例: ### 1. 定义参数 使用 `flag` 包的相关函数来定义命令行参数。例如,你可以使用 `StringVar`、`IntVar` 和 `BoolVar` 来定义字符串、整 ......
语言 flag

常见设计模式的实现(Go和C++版)

在编程开发过程中,会碰到各类场景,如果每次都来一个问题解决一个问题会极大的降低开发效率,所以有必要将开发过程中遇到的场景加以总结。设计模式就是这样一套被反复验证、按照最佳实践的经验总结。GoF按照创建型**、**结构型和行为型三大类总结提出了23种设计模式,本文用Go和C++语言来实现和演示在编程开... ......
设计模式 常见 模式

学习go语言编程之错误处理

## error接口 Golang中有一个关于错误处理的标准模式,即:`error`接口。 ```golang type error interface { Error() string } ``` 对于大多数函数,如果要返回错误,大致上都可以定义为如下模式: ```golang func Foo( ......
语言编程 错误 语言

学习go语言编程之面向对象

## 类型系统 类型系统是指一个语言的类型体系结构,一个典型的类型系统通常包含如下基本内容: - 基础类型,如:byte、int、bool、float等 - 复合类型,如:数组、结构体、指针等 - 可以指向任意对象的类型(Any类型) - 值语义和引用语义 - 面向对象,即:所有具备面向对象特征(比 ......
语言编程 对象 语言

go语言环境要这样搭建才"省钱"

# go语言环境要这样搭建才省钱 [TOC] ## 本篇概要 搭建go语言环境,除了要搭建go语言的编译环境,还要搭建go语言的集成开发环境,为此需要选择go语言的集成开发环境的工具,这就是“工于善其事,必先利其器”,可以大大加快自己的开发进度。 ## 集成开发环境工具(ide) 这里我主要介绍从我 ......
quot 语言 环境

go 进阶训练营 微服务可用性(中)笔记

## 过载保护 ### 令牌桶算法 存放固定容量令牌的桶,按照固定速率往桶里添加令牌 https://pkg.go.dev/golang.org/x/time/rate ### 漏桶算法 作为计量工具(The Leaky Bucket Algorithm as a Meter)时,可以用于流量整形( ......
可用性 训练营 笔记 go

学习go语言编程之函数

## 函数定义 函数的基本组成:关键字func,函数名,参数列表,返回值,函数体,返回语句。 示例如下: ```golang func Add(a int, b int) (ret int, err error) { if a < 0 || b < 0 { err = errors.New("sho ......
语言编程 函数 语言

学习go语言编程之常量

## 什么在常量 在Golang中,常量是指在编译期就已知且不可改变的值。 ## 字面常量 在程序中硬编码的常量值被称为字面常量,如: ```golang -12 // 整数类型常量 3.1415926 // 浮点类型常量 3.2+12i // 复数类型常量 true // 布尔类型常量 "foo" ......
语言编程 常量 语言

学习go语言编程之数据类型

## 数据类型概述 Golang语言内置了如下基础数据类型: - 布尔类型:bool - 整型:int8,unit8,int16,uint16,int32,uint32,int64,uint64,int,uint,uintptr - 浮点类型:float32,float64 - 复数类型:compl ......
语言编程 语言 类型 数据

学习go语言编程之流程控制

Golang支持如下4种流程控制语句: 1. 条件语句:if,else和else if 2. 选择语句:switch,case和select 3. 循环语句:for,range 4. 跳转语句:goto ## 条件语句 示例代码: ```golang a := 3 if a = 0 && i = 4 ......
语言编程 语言

Go - What's the point of one-way channels in Go?

A channel can be made read-only to whoever receives it, while the sender still has a two-way channel to which they can write. For example: func F() <- ......
channels one-way point Go What

2023-08-12:用go语言写算法。实验室需要配制一种溶液,现在研究员面前有n种该物质的溶液, 每一种有无限多瓶,第i种的溶液体积为v[i],里面含有w[i]单位的该物质, 研究员每次可以选择一瓶

2023-08-12:用go语言写算法。实验室需要配制一种溶液,现在研究员面前有n种该物质的溶液, 每一种有无限多瓶,第i种的溶液体积为v[i],里面含有w[i]单位的该物质, 研究员每次可以选择一瓶溶液, 将其倒入另外一瓶(假设瓶子的容量无限),即可以看作将两个瓶子内的溶液合并, 此时合并的溶液体 ......
溶液 研究员 物质 算法 体积

The selected directory is not a validhome for Go SDK

安装IDE集成开发工具配置 IDE版本:goland-2020.2.3_Protable 错误:下边指定go的sdk错误解决 报“The selected directory is not a validhome for Go SDK”报错解决方法 出现这个错误的原因是 idea 的Go-plugi ......
directory validhome selected The SDK

Go数组转换,[]byte、[]unint16互相转换的方法封装,完整范例

需求:分别封装方法将[]byte转换成[]unint16,将[]unint16转换成 []byte byte相当于unint8 分析:长度为20的[]byte转换为长度为10的[]unint16, 他们之间的转换如 bytes := []byte{0, 1} 》[0*256+1]=1 注意:第奇数乘 ......
数组 范例 方法 unint byte

go1.21循环中的变量有变化

最近发了go1.21.0, 听说循环中的变量有变化,跑一下看看。 1.21.0默认还是和之前一样的。通过设置 ```go env -w GOEXPERIMENT=loopvar ``` 让新语义生效 ```go package main import ( "fmt" "sync/atomic" "t ......
变量 go1 go 21

Go语言工程实践——实现简易论坛服务端

### Go语言工程实践——实现简易论坛服务端 这篇文章是在我完成极简版抖音项目之后撰写的,相比刚听网课的时候的懵懵懂懂,书写过一些go代码后对这个作业的理解深入了很多。这个作业是实现一个服务端go程序,下面从零开始开发。 #### 准备工作 首先建立一个名为server_demo的空目录作为项目根 ......
简易 语言 工程 论坛

go-zero 是如何实现令牌桶限流的?

**原文链接:** [](https://mp.weixin.qq.com/s/--AdUcwOQyP6r5W8ziVwUg) 上一篇文章介绍了 [如何实现计数器限流?](https://mp.weixin.qq.com/s/CTemkZ2aKPCPTuQiDJri0Q)主要有两种实现方式,分别是固 ......
令牌 go-zero zero go

go项目实现mysql接入以及web api

本文为博主原创,转载请注明出处: 创建go项目,并在go项目中接入mysql,将mysql的配置项单独整理放到一个胚子和文件中,支持项目启动时,通过加载配置文件中的值,然后创建数据库连接。 之后使用net/http相关的库,创建路由,并在路由中通过不同的http方法,实现mysql连接的test数据 ......
项目 mysql api web

go kratos protobuf 接收动态JSON数据

# 前言 `google.protobuf.Struct` 是 `Google Protocol Buffers` 中的一种特殊类型,用于表示动态的键值对数据。它可以存储任意类型的数据,并提供了方便的方法来访问和操作这些数据。 `Struct` 类型通常用于在不事先知道数据结构的情况下传递和处理配置 ......
protobuf 动态 数据 kratos JSON

go-zero 是如何实现计数器限流的?

**原文链接:** [如何实现计数器限流?](https://mp.weixin.qq.com/s/CTemkZ2aKPCPTuQiDJri0Q) 上一篇文章 [go-zero 是如何做路由管理的?](https://mp.weixin.qq.com/s/uTJ1En-BXiLvH45xx0eFsA ......
计数器 go-zero zero go

Golang - 原生go-sql-driver:出现invalid connection报错

在使用go-sql-driver/msqyl驱动过程中,偶现invalid connection错误,字面上看就是无效连接的意思。 开始以为是数据库压力问题或是网络不好,后来发现服务器和数据库是走内网的,网络出现问题几率非常小;只是在测试服务器上跑,没多少连接,不存在压力问题。 golang数据库驱 ......

Go语言中的匿名接口

匿名接口在 Go 语言中提供了一种定义接口但不给它命名的方式。使用它们有其优缺点: ### 优点: 1. **简洁性**:在你只需要在一个地方使用接口时,匿名接口可以避免创建一个新的命名接口。 2. **局部性**:匿名接口定义在使用它的地方,这使得读代码的人可以立即看到所需的方法,而不必在代码的其 ......
接口 语言

Go语言中字符串处理

Go 语言为字符串处理提供了丰富的功能。以下是处理字符串的一些常见方法和函数: 1. **基本操作**: - 获取字符串长度:`len(str)` - 字符串连接:`str1 + str2` - 访问特定字符(字节):`str[index]` 2. **字符串包 (`strings` 包)**: - ......
字符串 字符 语言

Go 1.21发布!

原文在[这里](https://go.dev/blog/go1.21)。 > 由Eli Bendersky, on behalf of the Go team 发布于 8 August 2023 Go团队今天非常高兴地发布了Go 1.21版本,你可以通过访问[下载页面](https://go.dev ......
1.21 Go 21

IDEA提示cannot find declaration to go to解决方案

参考:https://www.cnblogs.com/lizm166/p/16468953.html 原因:未设置源跟 解决方法:设置源跟 ![image](https://img2023.cnblogs.com/blog/1144139/202308/1144139-202308101616573 ......
declaration 解决方案 方案 cannot IDEA

Go面经 | 成都Go面试这么卷?卷王介绍:游戏行业 3年经验 20k+

Go最新面经分享:算法、并发模型、缓存落盘、etcd、actor模型、epoll等等... 本文先分享2段面经,文末总结了关键问题的复盘笔记。一定要看到最后! ......
经验 行业 20

Go语言中省略号用法大全

Go语言中的ellipsis(即三个连续的点 `...`)确实有几种用途。下面是这些用途的总结: 1. **定义变参函数(Variadic Functions)**: Ellipsis 用于函数定义时,表明该函数可以接受任意数量的参数。这些参数会被当作一个 slice 来处理。 例如: ```go ......
省略号 语言 大全

go-zero 是如何做路由管理的?

**原文链接:** [go-zero 是如何做路由管理的?](https://mp.weixin.qq.com/s/uTJ1En-BXiLvH45xx0eFsA) go-zero 是一个微服务框架,包含了 web 和 rpc 两大部分。 而对于 web 框架来说,路由管理是必不可少的一部分,那么本文 ......
路由 go-zero zero go

study go of First day

**一、语言标准** **1、go语言标识符基本和c语言规则一致:** **1).由数字、字母、下划线(_)组成** **2).数字不能在开头** **3).区分大小写** **————————————————————————————————————————————————————————————— ......
study First day go of