Golang
文章平均质量分 73
-
码的艺术家
https://linktr.ee/Codmn_Artist | 软件开发工程师 | C/C++、Python、JavaScript | 工业互联网、量化、区块链、AI |
展开
-
【学习笔记】go 生成随机数
核心go 的标准库(math/rand)中已经为我们提供了产生伪随机数字的核心方法,它们分别是用于产生种子的 rand.Send(value) 和用于产生伪随机数的 rand.intn(n)。代码示例rand.Send(value)rand.Seed() 函数用于设置种子值以生成伪随机数。如果每次都是用相同的种子值,即 value,那么会生成相同的伪随机数集合,因此我们需要不同的种子值,而手动更新种子值显然是麻烦的,所以最好的做法就是使用时间戳的形式。通常我们用 time.Now().UnixNa原创 2022-05-31 11:39:57 · 6520 阅读 · 0 评论 -
go 的时间操作
前言本篇所有输入,均用 p 代替 // 用 p 简写 p := fmt.Println获取当前时间// 当前时间 now := time.Now() p("当前时间:", now) // 当前时间: 2022-04-12 16:58:13.1294251 +0800 CST m=+0.005672001获取年获取年,其它如月,日等内容同理// 获取年,其它如月,日等内容同理 year := now.Year() p("当前年份:", year) // 前年份: 2022获原创 2022-04-12 19:37:38 · 1072 阅读 · 0 评论 -
【数据库】原生 go 执行的基本 sql 语句
提示建议你先看这篇文章《【数据库】原生 go 与 MySql 的基本示例》,熟悉基本的 go 如何连接 MySql,及一些基本的配置,同时我也会使用该篇文章中已经创建好的数据库和数据表。环境配置go1.17MySql8.0基本数据库/表内容已经存在的一个数据库:bookInfo已经存在的一个数据表:books插入,删除和更新操作在 database/sql 这个官方包中提供了 Exec 和 ExecContext (该方法提供了 context.Context 用于上下文的选择)原创 2022-04-08 11:27:49 · 1874 阅读 · 0 评论 -
【数据库】原生 go 与 MySql 的基本示例
go 原生库中提供了 databases/sql 来进行数据库的操作,同时要配合数据库驱动一起使用。你可以在这里选择你需要的驱动:链接。环境配置go 1.17MySql8.0创建数据库和数据表先创建一个名为 bookInfo 的数据库。# 创建数据库CREATE DATABASE bookInfo;# 使用该数据库USE bookinfo;在此数据库中创建一个数据表,并预先设置一些数据。CREATE TABLE books ( id INT AUTO_INCR原创 2022-04-08 10:53:44 · 1211 阅读 · 0 评论 -
【以小见大】go 中文件的复制
文件复制的过程图解函数,方法解释func Open(name string) (*File, error)Open 是打开文件的其中一种方式,是比较简洁的一种。它返回一个 *File,这是一个文件对象(文件句柄,文件指针)。拿到 File 的指针,就拿到了这个文件,可以对文件进行一系列的操作(如,关闭,读取等)func OpenFile(name string, flag int, perm FileMode) (*File, error)OpenFile 是打开文件的其中一种方式,是更一般性原创 2022-03-15 10:38:05 · 783 阅读 · 0 评论 -
【翻译】Go语言标准库学习中的encoding/gob——Go语言Gob流的管理
原文encoding/gob in the learning of Go language standard library – the management of Go language Gob flow根据实际情况对原文进行调整正文Gob 包用于管理 gob 流。它可以在编码器(发送器)和解码器(接收器)之间发送二进制数据流。一般用于传递远程程序调用的参数和结果。例如,net/rpc 包对此很有用。下面我们来学习一下gob标准库的使用,希望对你有所帮助。主要功能介绍gob 和 json原创 2022-02-10 11:58:46 · 2269 阅读 · 0 评论 -
go mod基础 学习笔记
参考go 官方文档是什么go mod 是 go 在 1.11 后提供的 go 包管理工具,和前段中的 npm 具有一样的功能。而在此之前 go 需要通过 gopath 来进行包管理,因为太过麻烦,所以现在更多的是使用 mod 的方式。创建一个 go module选择一个目录,比如现在我在 D:\code\go_project\study\gomod_study 下创建一个 greetings 文件夹。进入这个文件夹后,我们通过 go mod init xxx 的语法来创建 modlue。go m原创 2022-02-06 16:11:18 · 817 阅读 · 0 评论 -
go test 学习笔记
参考《go 语言圣经》go test 命令go test 用于测试 go 编写的代码程序,要求将测试的文件命名为 *_test.go,这样命名的文件不会被 go build 构建成包的一部分,但是会被 go test 进行测试。在 *_test.go 中有三种类型的函数测试函数:以 Test 为函数名的前缀,用于测试程序的逻辑行为基准测试函数:以 Benchmark 为函数名的前缀,用于测试程序的性能示例函数:以 Example 为函数名的前缀,提供示例文档go test 命令会执行所有原创 2022-02-04 16:14:56 · 2667 阅读 · 0 评论 -
go 中 new 和 make 的区别
new 和 make 是 Go 语言中用于内存分配的原语。简单来说,new 只分配内存,make 用于初始化 slice、map 和 channel。newnew(T) 函数是一个分配内存的内置函数,为每个类型分配一片内存,并初始化为零值且返回其内存地址。语法是 func new(Type) *Type众所周知,一个已经存在的变量可以赋值给它的指针。var p intvar v *intv = &p*v = 11fmt.Println(*v)那么如果它还不是一个变量呢?你可以直原创 2022-01-28 19:57:58 · 8023 阅读 · 1 评论 -
golang 中的闭包是什么
从匿名函数说起我们先来看看一个常规的有名字的函数是什么样子的,就像下面这样func myFunc(value string) { fmt.Println(value)}你可以通过下面的方式调用它myFunc("我是张三") // 我是张三现在我们用匿名函数来书写上面的内容func main() { func(value string) { fmt.Println(value) }("我是张三") // 我是张三}在这里有两个要注意的地方:第一个,匿名函数不能单独使用原创 2022-01-27 16:42:38 · 623 阅读 · 0 评论 -
go 的读写大总结
目录先决条件fmt 包Scanln 与 PrintlnScanf 与 PrintfSscanfbufio 包NewReader 与 ReadStringos 包读取写入io 包文件拷贝io/ioutil 包compress 包参考go 语言的输入输出参考了 C 语言的输入输出,如果你学习过 C 语言,那么 go 的输入输出就很好理解了。本文总结 go 中常用的输入输出方式,但是更详细的内容请同时参考官方文档,搭配起来一起看,因为官方文档的描述过于“非人话”。同时一些我觉得好的描述,也会直接挪用过来,更多原创 2021-11-04 18:37:58 · 254 阅读 · 0 评论 -
sorter 接口排序代码分析
一下这段代码来自《Go 入门指南》第十一章第七节 “第一个例子:使用 Sorter 接口排序”,认真理解阅读里面的代码对理解接口和方法集有很大的帮助,这里也作为我自己的学习批注,将这段代码,和自己的注释一并放在此处作为学习笔记。更详细的内容请点击上面的链接进入图书官网进行学习,这里只是作为我自己的学习笔记。sort.go该文件中定义了 Sorter 接口和相关类型,以及实现的方法package sort// 任何排序算法只需要试下下列方法即可type Sorter interface { /原创 2021-11-02 18:43:23 · 349 阅读 · 0 评论 -
【函数探析】strings.IndexFunc(s, f) in go
先决条件字符编码笔记:ASCII,Unicode 和 UTF-8_阮一峰理解 go 中的 rune在 go 中,我们要在一个字符串中查找符合要求的字符,就可以使用IndexFunc(s, f)方法。func IndexFunc(s string, f func(rune) bool) int第一个参数字符串 s 表示要父串。第二个参数是一个函数(函数参数为 rune,返回值为 bool),这个函数用于对字符串 s,进行一个字符一个字符的判断,即会把 s 中的每一个字符作为参数放到后面的函数原创 2021-10-25 18:48:18 · 396 阅读 · 0 评论 -
go mod 下调用本地包
本地包位于同一个项目下要调用的本地包位于包内,但不是同一个包名目录结构D:.│ go.mod│ main.go│└─mymod sayhimod.go其中 sayhimod.go 的包名为 mymod,main.go 的包名是 main(和 go.mod 中的 module 相同)sayhimod.gopackage mymodimport "fmt"func SayHi() { fmt.Println("Hi")}go.modmodule mai原创 2021-10-20 11:19:40 · 1226 阅读 · 0 评论 -
windows 下使用 g 进行 go 版本管理
实现的功能支持列出可供安装的go版本号支持列出已安装的go版本号支持在本地安装多个go版本支持卸载已安装的go版本支持在已安装的go版本之间自由切换下载在官方 github 上下载 releases 版本官方 readme 中提供了 linux 和 mac 下的下载安装教程,win 下稍有不同https://github.com/voidint/g/releasesg 默认将 go 下载在系统盘,如果你希望自定义安装 go 的位置,则下载 1.2.1 版本,并进行相关设置,具原创 2021-10-11 12:01:05 · 2108 阅读 · 2 评论