go-gprc gprc go

go语言字符与字符串相关

ASCII ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁 字母的一套单字节编码系统 字符 本质上来说,计算机中一切都是字节的,字符串也是多个字节组合而成,就是多个字节形成的有序序 列。但是对于多字节 ......
字符 字符串 语言

用Go语言实现23种设计模式及学习重点

KevinYan11 网管叨bi叨 2023-06-05 08:45 发表于北京 今天是咱们用Go学设计模式系列的最后一期,整个系列中我带着大家一起学习了经典的23种设计模式用Go语言如何来实现,以及它们在日常工作开发中的应用场景。 我看了一下发文记录,从2022年7月18更新第一篇观察者模式,到5 ......
设计模式 重点 语言 模式

Go语言手册-标准库

[Go语言标准库文档中文版](https://studygolang.com/pkgdoc "Go语言标准库文档中文版") ## fmt 格式化输入输出 通用: - %v 值的默认格式表示 - %+v 类似%v,但输出结构体时会添加字段名 - %#v 值的Go语法表示 - %T 值的类型的Go语法表 ......
语言 手册 标准

Go 内置函数

Golang 设计者为了编程方便,提供了一些内置函数,这些函数可以直接使用,可以看中文文档的描述:[传送门里面的 Builtin](https://studygolang.com/pkgdoc) ## len `len` 函数用来取长度,比如它可以取:`string` `array` `slice` ......
函数 Go

Go 错误处理

在 Go 中如果遇到错误,该如何处理?可以看下最常见的除零异常: ```go num := 10 fmt.Println(num / 0) ``` 可以发现,当我们直接运行上面的代码的时候,程序抛出了一个异常并且程序直接退出了 ```shell ➜ go-learn go run error_han ......
错误 Go

Go 日期时间相关函数

在编程中,我们经常会使用到日期相关的函数,比如:统计某段代码执行花费的时间。 日期相关的操作函数都在 `time` 包下 ## time.Time 在 Go 中,有一个 `time.Time` 类型,用于表示时间 ```go var dt time.Time = time.Now() fmt.Pri ......
函数 日期 时间 Go

Go defer 关键字

在函数中,我们经常需要创建资源,比如:连接数据库、文件句柄、锁...为了在函数执行完毕后及时释放资源,Go 的设计者提供了一个 `defer` 关键字,它类似 Java、JavaScript 语言中的 `finally` 关键字。 ```go func main() { fmt.Println("0 ......
关键字 关键 defer Go

Go 字符串中的常用函数

1. 统计字符串的长度,按字节进行统计: `len(str)` 2. 字符串遍历,同时处理中文乱码的问题: `r := []rune(str)` 3. 字符串转整数: `n, err := strconv.Atoi("12")` 4. 整数转字符串: `str = strconv.ltoa(1234 ......
字符串 函数 字符 常用 Go

9 Go 函数

函数是为完成某一功能的程序指令(语句)的集合称为函数。在 Go 中,函数分为:自定义函数和系统函数。 ## 函数的定义 以下是函数的基本语法 描述: ```go func 函数名(形参列表) (返回值类型列表) { ...语句块 return 返回值1, 返回值2 } ``` 1. 形参列表表示函数 ......
函数 Go

8 Go 流程控制

在程序中,程序运行的流程控制决定程序时如何执行的,是我们必须掌握的,Go 语言中主要有三大流程控制语句 1. 顺序控制 2. 分支控制 3. 循环控制 ## 跳转控制语句 goto 1. Go 语言的 `goto` 语句可以无条件的转移到程序中指定的行。 2. `goto` 语句通常与条件语句配合使 ......
流程 Go

0x05 Go 指针

1. 基本数据类型,变量存的是一个值,基本数据类型也叫做值类型。 2. 获取变量的内存地址,我们可以使用 `&` 符号,例如: ```go var num int = 10 fmt.Println("num =", &num) ``` ```shell # clover @ MacBook-Pro ......
指针 0x05 x05 0x 05

0x03 Go 变量

变量时程序的基本组成单位,无论是使用哪个编程语言来进行开发,变量都是其程序的基本组成单位. 1. 变量表示内存中的一个存储区域,该区域有属于自己的名称(变量名 )和类型(变量类型) Golang 变量有三种使用方式 1. 指定变量类型,声明后若不赋值则使用默认值 ```go var num int ......
变量 0x03 x03 0x 03

0x04 Go 数据类型

- 基本数据类型 1. 数值类型:`int` `int8` `int16` `int32` `int64` `uint` `uint8` `uint16` `uint32` `uint64` 2. 字符类型:在 Go 中没有类似 Java 中的 `char` 类型,但是可以通过 `byte` 来保存 ......
类型 数据 0x04 x04 0x

0x01 Go 语言中的转译字符

1. `\t` 表示一个制表位,实现对齐的功能 2. `\n` 换行符 3. `\\` 表示一个斜杠 `\` 4. `\"` 表示一个半引号 `"` 5. `\r` 表示一个回车,它会将后面的内容覆盖掉前面的内容,例如:`"123456789 \r 456"` 实际输出为 `456456789` ......
字符 语言 0x01 x01 0x

0x00 Hello Go

# GO 程序的基本结构 Go 语言的文件后缀是 `.go` 结尾,例如 `hello.go` Go 项目的文件目录通常是这样的: ```shell . └── src └── go_code └── learn 项目名 └── package1 └── package2 ``` 以下代码是一个 h ......
Hello 0x00 x00 0x 00

Go 语言实现 MySQL 数据库事务

# Go 实现 MySQL 数据库事务 ## 一、MySQL事务 MySQL事务是指一组数据库操作,它们被视为一个逻辑单元,并且要么全部成功执行,要么全部回滚(撤销)。事务是数据库管理系统提供的一种机制,用于确保数据的一致性和完整性。 事务具有以下特性(通常由ACID原则定义): 1. 原子性(At ......
事务 语言 数据库 数据 MySQL

Go 连接 MySQL之 MySQL 预处理

# Go 连接 MySQL之 MySQL 预处理 ## 一、ChatGPT 关于 MySQL 预处理 的回答 ### 问:什么是MySQL 的预处理 具体执行过程时什么 #### ChatGPT 答: MySQL的预处理是一种在执行SQL语句之前,先进行编译和优化的机制。它将SQL语句分成两个阶段: ......
MySQL Go

Go语言中的init函数: 特点、用途和注意事项

# 1. 引言 在Go语言中,`init()`函数是一种特殊的函数,用于在程序启动时自动执行一次。它的存在为我们提供了一种机制,可以在程序启动时进行一些必要的初始化操作,为程序的正常运行做好准备。 在这篇文章中,我们将详细探讨`init()`函数的特点、用途和注意事项,希望能帮助你更好地理解和使用这 ......
函数 注意事项 用途 事项 特点

透过 Go 语言探索 Linux 网络通信的本质

## 前言 各种编程语言百花齐放、百家争鸣,但是 “万变不离其中”。对于网络通信而言,每一种编程语言的实现方式都不一样;但其实,调用的底层逻辑都是一样的。linux 系统底层向上提供了统一的 Socket 通信系统函数,动态链接库 `/lib64/libc.so` 中就是实现网络通信的关键类库。下面 ......
网络通信 本质 语言 Linux 网络

Go 语言连接数据库实现增删改查

title: "Go 语言连接数据库实现增删改查" date: 2023-06-10T18:55:16+08:00 draft: true tags: ["Go"] categories: ["Go"] # Go 连接 MySQL实现增删改查 ## 一、初始化连接 ### 创建项目 ![](http ......
语言 数据库 数据 Go

go程序在linux服务器上运行

## 一、go语言环境安装 [参考菜鸟教程](https://www.runoob.com/go/go-environment.html) ## 二、编译 1. 测试代码源码: ```golang package main import "fmt" func main() { fmt.Println ......
服务器 程序 linux

go网络编程(一)

【B站最深度的Golang学习到实战 up主强力推荐】 https://www.bilibili.com/video/BV1TK4y1a7ex/?p=101&share_source=copy_web&vd_source=03c1dc52eeb3747825ecad0412c18ab1 # 网络概述 ......
网络编程 网络

Go语言之gin框架源码学习

# Go语言之gin框架源码学习 ## gin 框架路由注册与路由匹配、中间件 ```go package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" ) func func1(c *gin.Context) { fmt.Pri ......
源码 框架 语言 gin

go-work使用

### go work使用 (1.)初始化工作空间 ``` go work init [moddirs] ``` 说明: moddirs是Go Module所在的本地目录。如果有多个Go Module,就用空格分开。如果go work init后面没有参数,会创建一个空的workspace。 执行g ......
go-work work go

GoLand 2023(GO语言集成开发工具环境)mac版

GoLand是一个非常简单的 Go语言开发工具,它使您能够在各种平台上构建 Go应用程序。在过去的几年里, GoLand2023在各个领域进行了改进,并且继续发展。我们从这篇文章开始,以了解 GoLand的新功能。 GoLand的一个很棒的功能是允许您设置源代码,而不仅仅是编译它。这使您可以在编写代 ......
开发工具 语言 环境 工具 GoLand

go语言网络轮询器

# go语言网络轮询器 网络轮询器不仅用于监控网络 I/O,还能用于监控文件的 I/O,它利用了操作系统提供的 I/O 多路复用模型来提升 I/O 设备的利用率以及程序的性能。 go语言在网络轮询器中使用I/O多路复用模型处理I/O操作,但是他没有选择常见的系统调用select。虽然select也可 ......
语言 网络

go 时间戳和时间格式的相互转换

1.日期->时间戳 timestamp := time.now().Unix() //转化为时间戳 类型是int64 2.时间戳->日期 timeNow := time.Unix(time.Now().Unix(),0) 3.日期->字符串 timeLayout := "2006-01-02 15: ......
时间 格式 go

gprc python调用c++远程服务

客户端和服务端之间不是直接通信的,需要通过生成的代码和protocol buffers传输协议(可使用其他传输协议替换)进行通信。 开发步骤: 1. .proto文件 message和service message是消息类型,定义参数,service是接口类型,定义远程服务的方法 在grpc中有四种 ......
python gprc

云原生时代Go最受欢迎Web开源框架Gin原理与实战

在Go的Web开发世界中,Gin以其简单、高性能一举成为使用最广泛的框架;本篇先了解定位和特性,然后在进行常见使用功能如参数获取和绑定、路由组、中间件、静态资源使用、内容渲染、Cookie和Session等多个代码示例演示,最后通过分析源码中的核心流程和数据结构加深对其整体理解。 ......
实战 框架 原理 时代 Web

go编程语言

# 实效 Go 编程 | [引言](#引言)[示例](#示例)[格式化](#格式化)[注释](#注释)[命名](#命名)[包名](#包名)[获取器](#获取器)[接口名](#接口名)[驼峰记法](#驼峰记法)[分号](#分号)[控制结构](#控制结构)[If](#if)[重新声明与再次赋值](#重新 ......
编程语言 语言