Go语言

2024/4/21 14:37:55

Go语言入门心法(四): 异常体系

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 一: go异常体系认知 后期补充完整,忙着去耍帅,泡妹子去.............

【Go学习笔记】第七章 Go 类型

前言:下面的内容都是边看【飞雪无情】大佬的博客,自己边整理的,其中部分内容有过删改,推荐大家去看原作者的博客进行学习,本博客内容仅作为自己的学习笔记。在此之前,我跟着b站韩茹老师刷完了Go语言入门教程…

【Go学习笔记】第十章 Go 嵌入类型(继承)

前言:下面的内容都是边看【飞雪无情】大佬的博客,自己边整理的,其中部分内容有过删改,推荐大家去看原作者的博客进行学习,本博客内容仅作为自己的学习笔记。在此之前,我跟着b站韩茹老师刷完了Go语言入门教程…

基于GO语言实现书籍管理系统

需求分析 // 使用函数实现一个简单的图书管理系统。 // 每本书有书名、作者、价格、上架信息, // 用户可以在控制台添加书籍、修改书籍信息、打印所有的书籍列表。// 0. 定义结构体 // 1. 打印菜单 // 2. 等待用户输入菜单选项 // 3. 添加书籍的函数 // 4. 修改书籍…

Go语言基本语法之变量定义

一、var关键字 1、var a, b, c bool 2、var s1, s2 string “hello”, “world” 3、可放在函数内,或直接放在包内 4、使用var()集中定义变量 示例: var ( aa 3 ss "kkk" bb true )二、让编译器自动决定类型 1、var a, b, i…

【Go Web学习笔记】第三章 Go与表单的操作

前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go Web学习笔记】第十二章 Go与正则表达式

前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go Web学习笔记】第十一章 Go与JSON处理

前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

grpc-python介绍及使用

gRPC是什么 所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。如下图所示就是一个典型的RPC结构图…

搞定Go语言之第二天

变量 var a int var b bool var c int8var (m intn string )var name string "nazha"func main(){age : 18//声明变量age同时初始化;编译器会根据右边的初始值推断出age是什么类型 }常量 const PI 3.1415926const KB 1024iota Go中借助iota来实现枚举 const …

【Go学习笔记】第一章 Go包管理

前言:下面的内容都是边看【飞雪无情】大佬的博客,自己边整理的,其中部分内容有过删改,推荐大家去看原作者的博客进行学习,本博客内容仅作为自己的学习笔记。在此之前,我跟着b站韩茹老师刷完了Go语言入门教程…

validator库的使用详解

目录 基本使用前言请求模型的定义编写接口及测试 翻译校验错误提示信息自定义错误提示信息的字段名自定义校验规则常见的参数校验字段 基本使用 前言 在做API开发时,需要对请求参数的校验,防止用户的恶意请求。例如日期格式,用户年龄&#x…

【Go学习笔记】第五章 Go 切片

前言:下面的内容都是边看【飞雪无情】大佬的博客,自己边整理的,其中部分内容有过删改,推荐大家去看原作者的博客进行学习,本博客内容仅作为自己的学习笔记。在此之前,我跟着b站韩茹老师刷完了Go语言入门教程…

【Go Web学习笔记】第五章 Go操作MySQL数据库

前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go Web学习笔记】第九章 Go与Session

前言:大家好,以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改, 推荐大家去看原作者的文档进行学习, 本文章仅作为个人的学习笔记,后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

Go语言channel

一、channel 1.定义channel类型 var c chan int c1 : make(chan int) c2 : make(chan int, 3)2.向channel发数据 var c chan int c <- 13.从channel收数据 var c chan int n : <-c二、channel基本操作 1.向channel收发数据 func chanDemo1() {c : make(chan int)go…

Go语言中的WaitGroup

Go语言中的WaitGroup Go语言sync包中的WaitGroup可以有效解决goroutine未执行完成&#xff0c;而主程序执行完成导致程序结束的问题。 Go语言标准库中WaitGroup只有三个方法&#xff1a; Add(delta int)表示向内部计数器添加增量(delta),其中参数delta可以是负数Done()表示…

【Go Web学习笔记】第四章 Go访问数据库

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go Web学习笔记】第二章 HTTP的客户端实现

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go Web学习笔记】第一章 搭建Web服务器

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

Go Lang开发环境搭建配置

&#xfeff;&#xfeff;这里介绍Windows环境的搭建步骤。 Go安装&#xff1a; 安装包下载地址&#xff08;需要翻墙&#xff09;&#xff1a;https://golang.org/dl 安装完成后&#xff0c;配置环境变量&#xff08;例如我们安装到D:\Go目录下&#xff09; GOPATH和GOROOT的配…

Go语言基础语法学习笔记[3]

&#xfeff;&#xfeff;数组&#xff1a; 声明&#xff1a; var variable_name [SIZE]variable_type 注意&#xff1a;数组长度是固定不能改变的 一维数组举例&#xff1a; var arr1 [10]int arr1[0] 10 var arr2 [5]int{1,2,3,4,5} var arr3 [...]int{1,2,3,4,5,6} fmt.P…

Go语言如何实现面向对象?

我是小小搬运工&#xff0c;本文章仅作为自己的学习笔记&#xff0c;后续还会进行知识点补充。 推荐大家去看原链接学习&#xff1a;传送门 》煎鱼大佬 什么是面向对象 在了解 Go 语言是不是面向对象&#xff08;简称&#xff1a;OOP&#xff09; 之前&#xff0c;我们必须先知…

【Go学习笔记】第十五章 Go 并发示例-Runner

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

【Go学习笔记】第十二章 Go goroutine(协程)

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

前后端分离开发之后端开发02-gin获取参数

获取参数 1. 获取URL中的路径参数 如URL路径 http://localhost:8080/user/john :name匹配到的字符串为john。获取参数使用的函数为 Param()函数&#xff0c;此处的name不用在前面加冒号 r.GET("/user/:name", func(ctx *gin.Context){name : ctx.Param("nam…

【Go Web学习笔记】第十章 Go与XML处理

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go Web学习笔记】第十五章 Go与RPC

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go学习笔记】第八章 Go 函数方法

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

【Go学习笔记】第十一章 Go 标志符可见性(封装)

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

Go语言goroutine并发处理

模拟并发事务处理&#xff1a; package main import ( "fmt" "math/rand" "time" ) type job struct { jobID int load int //seconds needed to finish the job } const jobCount int 20 const workerCount int …

自己动手写一个Golang ORM框架

作者&#xff1a;smallyang&#xff0c;腾讯 IEG 运营开发工程师 当我深入的学习和了解了 GORM,XORM 后&#xff0c;我还是觉得它们不够简洁和优雅&#xff0c;有些笨重&#xff0c;有很大的学习成本。本着学习和探索的目的&#xff0c;于是我自己实现了一个简单且优雅的 go 语…

go语言25个关键字总结

var和const &#xff1a;变量和常量的声明package and import: 导入func&#xff1a; 用于定义函数和方法return &#xff1a;用于从函数返回defer someCode &#xff1a;在函数退出之前执行go : 用于并行select 用于选择不同类型的通讯interface 用于定义接口struct 用于定义抽…

数据库与信息管理课程设计——技术栈【Go+VUE+PGSQL+Redis】的托管培训中心信息管理系统

一、项目架构介绍 项目技术栈&#xff1a;GoVUE3PGSQLRedis 开发工具&#xff1a;IDEA2021.1 后端开发语言&#xff1a;GoLand 前端架构&#xff1a;VUE3.0(集成Element-UI) 后端架构&#xff1a;gin、gorm 数据库版本&#xff1a;PostgreSQL13 数据库缓存&#xff1a;Redis …

为什么会设计Go语言

转自&#xff1a;http://mt.sohu.com/20160407/n443587979.shtml当初他们为什么会有设计一个新语言的冲动呢&#xff1f;让我们一起来回顾一下这些历史&#xff0c;也许很多人对他们当年遇到的问题感同身受。 设计Go语言是为了解决当时Google开发遇到的以下这些问题&#xff1a…

《golang设计模式》第二部分·结构型模式-06-享元模式(Flyweight)

文章目录 1. 概述1.1角色1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 类图示例 1. 概述 享元&#xff08;Flyweight&#xff09;模式采用共享方式向客户端提供数量庞大的细粒度对象。 所谓细粒度对象&#xff0c;是指实现了业务细节并相互独立的对象。细粒度对象是一种相对概念&…

Go教程-Go语言简介

这篇文章我们来聊聊Go语言。 Go语言发展历史 以下是Go语言发展的几个里程碑节点&#xff1a; Go一开始是Google内部的一个项目&#xff0c;由三位大佬Rob Pike、Robert Griesemer、Ken Thompson早2007年发起。在2009年11月&#xff0c;Go语言正式对外开源。在2010年&#xf…

牛客OJ输入

1、输入个数固定&#xff0c;但是每一行输入长度不同 例如 3 1 2 3 5 2 3 5 2 43 8 5 9 或者 3 1,9,3,7 5,2,6 1,6 func main() {n : 0// 必须使用Scanlnfmt.Scanln(&n)res : make([][]int, 0)var a intfor i : 0; i < n; i {tmp : make([]int, 0)for {if _, err : fm…

变量、常量以及与其他语言的差异

知识点 源码文件以_test结尾&#xff1a;xxx_test.go测试方法名以Test开头&#xff1a;func TestXXX(t *testing.T){…} 利用单元测试来写代码段&#xff0c;保存之后会自动运行程序返回结果&#xff0c;可以快速实践得到反馈。 编写测试程序 接下来练习一下&#xff0c;怎…

GORM教程

GORM gorm是一个使用Go语言编写的ORM框架。它文档齐全&#xff0c;对开发者友好&#xff0c;支持主流数据库。 安装 go get -u gorm.io/gorm连接数据库 引入驱动 import "gorm.io/driver/mysql" import "gorm.io/driver/postgres" import "gorm.…

1分钟带你了解golang(go语言)

Golang&#xff1a;也被称为Go语言&#xff0c;是一种开源的编程语言&#xff0c;由Google的Robert Griesemer、Rob Pike和Ken Thompson于2007年发明。 被誉为21世纪的C语言。 像python一样的优雅&#xff0c;有c一样的性能天生协程天生并发编译快… 编辑器&#xff1a;golan…

GO语言基础语法(一)

一、编程语言的发展史 Go语言主要应用于网络服务端&#xff0c;现在云计算有两个比较新的容器技术&#xff0c;一个是docker&#xff0c;另一个是K8S。这两个容器技术的底层源码的实现均是利用GO语言书写的。 关于Docker技术的底层源码实现&#xff0c;请查看本人专栏Docker容…

Golang结构体与接口

目录结构体及其方法结构体定义结构体实例化结构体初始化结构体结构体内嵌结构体方法接口与类型接口的定义接口的创建与实现多态空接口类型断言ok-patternswitch-type非侵入式接口结构体及其方法 结构体 定义结构体 Go语言中通过关键字type定义自定义类型&#xff0c;结构体定…

【GO语言基础】前言

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 【GO语言基础】运算符 文章目录 系列文章目录一、基础知识包和函数函数声明语法简洁性 括号成对出现GO常用DOS命令命名规则项目目录结构注释 总结 一、基础知识 …

beego之bee 工具简介

bee 工具是一个为了协助快速开发 beego 项目而创建的项目&#xff0c;通过 bee 您可以很容易的进行 beego 项目的创建、热编译、开发、测试、和部署。 bee 工具的安装 您可以通过如下的方式安装 bee 工具&#xff1a; go get -u github.com/beego/bee/v2 安装完之后&#x…

【GO语言基础】基本数据类型

系列文章目录 【Go语言学习】ide安装与配置 【GO语言基础】前言 【GO语言基础】变量常量 【GO语言基础】数据类型 文章目录 系列文章目录数据类型数值型&#xff1a;整数类型&#xff1a;浮点数类型&#xff1a; 字符型-布尔型-字符串零值转义字符 常用类型转换运算符总结 数据…

[Go语言]我的第三个Go语言程序

Exercise: Maps Implement WordCount. It should return a map of the counts of each “word” in the string s. The wc.Test function runs a test suite against the provided function and prints success or failure. You might find strings.Fields helpful. package ma…

Go语言内置容器(数组(array)、切片(slice)和映射(map))

目录Go语言内置容器(数组(array)、切片(slice)和映射(map))数组(array)声明数组初始化数组遍历数组注意事项数组类型的不足切片(slice)从数组/切片生成一个新的切片直接生成一个新的切片声明切片初始化切片slice的扩展为切片添加元素从切片删除元素copy函数的使用字典、映射&am…

Go语言中的命令行工具

Go语言中的命令行工具 Go语言常用命令 Go语言的工具箱提供了很多常用工具。它可以被看作是特殊包管理器&#xff0c;用于包的查询、计算包的依赖关系、从远程版本控制系统下载包等任务。 它也是一个构建系统&#xff0c;计算文件的依赖关系&#xff0c;然后调用编译器、汇编…

Golang中的格式化输入输出

Golang中的格式化输入输出 打印输出 在Go语言中有多种输出方式&#xff0c;不同的输出适用场景不同。归纳起来有三种&#xff0c;每种还分为3种方式(原内容、原内容ln、原内容f) PrintXX()FprintXX()SprintXX() FprintXX FprintXX在Go Web中使用比较多&#xff0c;把内容写到…

Go语言模拟一个生产者消费者的Demo

package main import ( "fmt" "math/rand" "time" ) type producer struct { id int level int } type consumer struct { id int } // 定义生产的方法 func (p producer) produce(inputQ chan int, waitQ chan boo…

Go语言使用channel等待任务结束

一、使用channel来等待goroutine结束 方法一&#xff1a; type worker struct {in chan intdone chan bool }func doneWorker(id int, w worker) {for n : range w.in {fmt.Printf("worker %d received %c\n", id, n)w.done <- true} }func createWorker(id int…

GO:所选目录不是Go SDK的有效主路径

问题描述&#xff1a; Go的安装和在idea的配置在网上已经很多&#xff0c;这里不多赘述。目前在接触Go的时候&#xff0c;在已经安装好Go且在cmd已成功唤起的情况下&#xff0c;在建项目时出现了&#xff1a; “所选目录不是Go SDK的有效主路径” 还以为是idea的权限问题。 …

搞定Go语言之第一天

环境搭建 安装 1.自选以下任意地址进行安装包下载&#xff1a; 下载地址1:https://studygolang.com/dl 下载地址2:https://golang.google.cn/ 2.下载好安装程序包进行安装&#xff0c;一路next下去&#xff0c;即可完成安装。 安装完成后&#xff0c;在我们所设置的安装目…

Go语言标准库

Go 语言标准库 名称 摘要archive tar tar包实现了tar格式压缩文件的存取. zip zip包提供了zip档案文件的读写服务.bufio bufio 包实现了带缓存的I/O操作.builtin builtin 包为Go的预声明标识符提供了文档.bytes bytes包实现了操作[]byte的常用函…

高软 go语言 lab5

利用callback函数参数使Linktable的查询接口更加通用 C语言版本: https://www.shiyanlou.com/courses/reports/1276044 go语言版本 知识点: go语言的unsafe.Pointer类型指针(对应C语言的void指针,go里面没有void指针) 用法: void *args //C语言声明void型指针args args…

Go语言学习(四) go语言常量和变量

1、变量 运行过程中可变的量 声明并初始化&#xff1a; var <变量名> [type] <值>如果不初始化会默认初始化 各种类型的初始化值&#xff1a; string:空字符串 float:0 int:0 bool:falsego语言是强类型语言 批量声明变量 var (a int 3b bool truec float32…

go调用docker远程API(二)-docker API 的容器操作

文章目录1 获取容器列表2 查看指定容器信息3. 查看容器日志4 创建容器4.1 简单使用4.1.1 语法4.1.2 完整示例4.2 端口映射4.2.1 语法4.2.2 完整示例4.3 挂载本机目录/文件4.3.1 语法4.3.2 完整代码5. 启动容器6 停止容器7 删除&#xff08;已停止的&#xff09;容器8 进入容器执…

Go语言的 import

常规写法&#xff1a; import "fmt" 需要导入多个包时&#xff1a; import ( "bytes" "fmt" "strings" ) 上面这个fmt是Go语言的标准库&#xff0c;他其实是去goroot下去加载该模块&#xff0c;当然Go的import还支持如下两种方式…

【2021年新书推荐】Network Programming with Go

各位好&#xff0c;此账号的目的在于为各位想努力提升自己的程序员分享一些全球最新的技术类图书信息&#xff0c;今天带来的是2021年2月由No Starch Press出版社最新出版的一本关于go语言的书。 Network Programming with Go 作者&#xff1a;Adam Woodbeck 出版社&#xff1…

Go语言学习(三) go语言的基本数据类型

1、整型 整型包括 int、uint、int8、int16、int32、int64、uint8、uint16、uint32、uint64。 int类型的大小取决于CPU如果是32位的CPU就是32位的&#xff0c;如果是64位的就是64位。使用int32方便系统移植。 u开头的都是无符号整数。 2、浮点数 浮点数包括float32、float64。 …

GO编程实践:如何高效使用变量

GO语言是一种强类型、静态编译的编程语言&#xff0c;它具有简洁的语法和强大的并发支持。在GO语言中&#xff0c;变量的定义和使用是非常重要的基本概念之一。下面是关于如何在GO语言中定义变量的详细说明&#xff0c;使用Markdown格式呈现&#xff1a; GO语言变量定义 在GO…

Android Studio常用小技巧

返回上一步操作&#xff1a; alt left alt right 撤销代码编辑 ctrl z ctrl y 查找类&#xff1a; ctrl shift R 全局查找&#xff1a; ctrl h 上下移动代码&#xff1a; alt top alt bottom 批量修改全局某个字段的内容&#xff1a; Edit —— Find —— Replac…

Go语言基础(二)封装继承多态、方法、接口

封装 go语言中可以简单地看作对struct的封装 type Person struct {name string } type Student struct {name string } type Teacher struct {name string }继承 go语言中没有继承&#xff0c;但可以通过“匿名组合”实现继承 结构体继承&#xff0c;方法继承&#xff0c;方…

Go语言入门心法(七): 并发与通道

Go语言入门心法(一): 基础语法 Go语言入门心法(二): 结构体 Go语言入门心法(三): 接口 Go语言入门心法(四): 异常体系 Go语言入门心法(五): 函数 一: go语言并发与通道

GO——包

基本概念 go的每一个文件都是属于一个包的&#xff0c;也就是说go是以包的形式来管理文件和项目目录结构的 相关说明 打包基本语法 package util引入包的基本语法 import "路径"相关准备工作 每一个go的项目中要创建src文件夹 将项目写入Project GOPATH中 解…

Go语言微服务入门系列:RPC

打开我们手机上的各种应用&#xff0c;你会发现&#xff0c;大多应用基本上都是用微服务架构实现的&#xff0c;比如淘宝、微信、微博等都是典型的微服务架构。 微服务架构可以将单一的应用程序划分为一组小的服务&#xff0c;每个服务独立运行在自己的进程中&#xff0c;服务…

Goreleaser + TraivsCI 发布 gopo 项目

很久没有更新过博客&#xff0c;想来也是十分惭愧&#xff0c;每日都在公司和家庭之间来回往返&#xff0c;闲下来时也浑浑噩噩。古人云吾日三省吾身&#xff0c;博客就是一个很好的反省和总结的手段&#xff0c;只是难的不是写一篇或两篇&#xff0c;而是那份滴水穿石的毅力。…

GORM---初级查询

文章目录 初始数据表一般查询Where条件普通SQL查询查询 Struct & Map Not 条件Or 条件内联条件额外查询选项FirstOrInitAttrsAssign FirstOrCreateAttrsAssign 初始数据表 一般查询 var p1, p2, p3, p4 connect.PersonInfo var ps []connect.PersonInfo// 把主键升序&…

go并发之道学习总结

go并发之道并发概述为什么并发很难&#xff1f;竞争条件原子性内存访问同步死锁、活锁和饥饿死锁活锁饥饿对代码进行建模&#xff1a;通信顺序进程并发与并行的区别什么是CSPGo 语言的并发哲学Go 语言并发组件goroutinesync 包WaitGroup互斥锁和读写锁condoncePool&#xff08;…

go docker API(一)-docker开放远程AIP、链接docker API,镜像操作

文章目录1. 准备1.1 docker开放远程API端口1.2 防火墙策略2. 链接docker2.1 语法2.2 常用 ops2.3 完整示例3. 镜像操作3.1 获取镜像列表3.2 获取指定镜像信息3.3 镜像拉取3.4 拉取私有仓库镜像3.5 修改 REPOSITORY:TAG3.6 删除镜像1. 准备 1.1 docker开放远程API端口 修改/et…

GoLang基本数据类型之间的相互转换

数据类型之间的转换 //demo06 fmt.Println("<--------int转浮点---------------->")n1 : 100 f2 :float32(n1)fmt.Println("int类型的100转为float32&#xff0c;结果&#xff1a;",f2)fmt.Println("<--------浮点转int---------------->…

2024年最新 golang语言windows下 protobuf3 安装使用(避免采坑)

一、protobuf 安装 1、protobuf安装 下载网址&#xff1a;https://github.com/protocolbuffers/protobuf/releases 安装并添加环境变量 命令行查看安装是否成功&#xff1a;protoc --version 2、go语言protobuf包 go install google.golang.org/protobuf/cmd/protoc-gen-…

运算符 - Go语言从入门到实战

运算符 - Go语言从入门到实战 算术运算符 假设A变量等于10&#xff0c;B变量等于20。 运算符描述实例相加A B 输出结果 30-相减A - B 输出结果 -10*相乘A * B 输出结果 200/相除B / A 输出结果 2%求余B % A 输出结果 0⾃增A 输出结果 11–⾃减A-- 输出结果 9 特性&#xf…

2024 年如何复用 ChatGPT 从头开始​​快速学习 Python

今天聊聊计算机专业的学习以及一个升级打怪路线。 有需自取 计算机必看经典书单和课程资源(含下载方式) 随着 Chat GPT 等聊天机器人的兴起&#xff0c;许多人想知道人工智能助手是不是可以做编程老师。在这篇文章里&#xff0c;我会分享作为一个完全的小白如何用 ChatGPT 学…

学习go笔记第一次

package main //打包import "fmt" //在vs code里面不写系统会自动加上func main() {//var是变量声明的关键字&#xff0c;声明变量必须使用不然会报错var ( //批量声明a int 2 //int整型b string "sd" //string字符c bool …

GO语言从入门到实战-Go语言课程介绍

为什么选择 Go 语言来完成这么大一个项目呢&#xff1f;我们不妨回到 Go 语言的源头看一看。 Go 语言的初步设想始于 2007 年&#xff0c;当时 Go 语言的三位创始人是想通过开发一种新型的语言来解决 Google 在软件开发中面临的问题&#xff1a; 多核硬件架构&#xff1b;超大…

本科生应该选择考研还是就业?这是所有大学生应该思考的问题

亮观点 首先要声明接下来的内容主要是针对互联网人来说的&#xff0c;不适用于所有人。 对于互联网人&#xff0c;特别是做技术的来说&#xff0c;越早就业越好。 是什么给出这个结论&#xff1f; 我在大一的时候就决定了毕业以后找工作&#xff0c;读到高三已经是12年的光…

【Go学习笔记】第十四章 Go 通道

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

【Go学习笔记】第十三章 Go 并发资源竞争

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

【Go学习笔记】第二章 Go开发工具

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

Go语言基础语法学习笔记[1]

行分隔符&#xff1a; Go语言中&#xff0c;一行代表一个语句结束&#xff0c;不需要以分号“;”结尾&#xff0c;如果需要在一行写多个语句&#xff0c;则每个语句需要使用分号进行区分&#xff0c;不鼓励这样做。 注释&#xff1a; // 单行注释 /* 多行注释 */ 标识符&#x…

Go语言入门心法(三): 接口

Go语言入门心法(一) Go语言入门心法(二): 结构体 一&#xff1a;go语言接口认知 忙着去耍帅,后期补充完整。。。。。

【Go学习笔记】第九章 Go 接口(多态)

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

Go语言中Time的用法[2]

Date函数&#xff1a; 定义&#xff1a;func Date(yearint, month Month, day, hour, min, sec, nsec int, loc *Location) Time 函数基于给定的Location返回一个“yyyy-mm-ddhh:mm:ss nsec nanoseconds”形式的Time对象&#xff0c;month, day, hour, min, sec, 和nsec这些参…

Go语言中Time的用法[1]

&#xfeff;&#xfeff;Time中定义的时间格式化常量&#xff1a; const ( ANSIC "Mon Jan _2 15:04:05 2006" UnixDate "Mon Jan _2 15:04:05 MST 2006" RubyDate "Mon Jan 02 15:04:05 -0700 2006" RFC822 …

Go语言goroutine+channel+select简介

&#xfeff;&#xfeff;goroutine&#xff1a; Go语言是原生支持语言级并发的&#xff0c;这个并发的最小逻辑单元就是goroutine。goroutine就是Go语言提供的一种用户态线程&#xff0c;这种用户态线程是跑在内核级线程之上的&#xff0c;goroutine在运行时的调度是由Go语言提…

[Go 夜读 第 148 期] Excelize 构建 WebAssembly 版本跨语言支持实践

Excelize 是 Go 语言编写的用于操作电子表格文档的基础库&#xff0c;支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式&#xff0c;高度兼容带有样式、图片 (表)、透视表、切片器等复杂组件的文档&#xff0c;并提供流式读写支持&#xff0c;用于处理包含大规模数据的工…

Go语言黑魔法中的问题修正

原文&#xff1a; http://studygolang.com/articles/2909 文中大多技巧都是正确的&#xff0c;但是结构体和[]byte之间的转换&#xff1a; 第三式 - 结构体和[]byte互转 有一天&#xff0c;你想把一个简单的结构体转成二进制数据保存起来&#xff0c;这时候你想到了encoding/g…

Go语言学习01-基本程序结构

文章目录 Go语言学习01-基本程序结构基本程序结构应用程序入口退出返回值编写测试程序快速设置连续值基本数据类型类型的预定义值指针类型运算符算数运算符比较运算符用 比较数组 逻辑运算符位运算符&^ 按位 置零 Go语言学习01-基本程序结构 基本程序结构 package main …

迭代器range

迭代打印每个元素&#xff0c;默认返回2个值&#xff1a;一个是元素的位置&#xff0c;一个是元素本身 for i, data : range str {}第二个返回值默认丢弃 for i : range str {}for i, _ : range str {}

Grafana使用

简介 Grafana是一款用Go语言开发的开源数据可视化工具&#xff0c;可以做数据监控和数据统计&#xff0c;带有告警功能。目前使用grafana的公司有很多&#xff0c;如paypal、ebay、intel等。 特点&#xff1a; ①可视化&#xff1a;快速和灵活的客户端图形具有多种选项。面板…

字符串与字符编码 - GO语言从入门到实战

字符串与字符编码 - GO语言从入门到实战 字符串 与其他主要编程语⾔的差异 基本数据类型&#xff1a;string 是基础数据类型&#xff0c;而不是引用类型或指针类型。string 在内存中占用的空间大小是固定的&#xff0c;且只读、不可改变。字节切片&#xff1a;string 是只读…

go语言学习笔记(三)

golang学习笔记一、匿名函数package mainimport ("fmt" )func main() {res : func(n1 int, n2 int) int {return n1 n2}(10, 20)fmt.Println(res) }等价于《》 func main() {res : func(n1 int, n2 int) int {return n1 n2}res2 : res(10,20)fmt.Println(res2) }二…

Go语言中的defer关键字

官方文档中关于defer语句的解释&#xff1a; defer语句延迟执行一个函数&#xff0c;该函数被推迟到当包含它的程序返回时&#xff08;包含它的函数 执行了return语句/运行到函数结尾自动返回/对应的goroutine panic&#xff09;执行。 每次defer语句执行时&#xff0c;defer修…

Go语言中的channel

目录Go语言中的channelchannel声明并初始化channel操作channel的语法缓冲机制无缓冲通道有缓冲通道close和rangeGo语言中的channel Don’t communicate by sharing memory, share memory by communicating. 上面这句话是Go语言的主要创造者之一Rob Pike的至理名言&#xff0c;这…

Go语言中的错误处理

目录Go语言中的错误处理与资源管理defer调用实现资源管理defer特点何时使用defer调用defer和return结合错误处理错误类型自定义错误错误处理的方式Go语言宕机defer和panic宕机恢复recover捕获宕机函数调用过程中panic和recoverGo语言中的错误处理与资源管理 defer调用实现资源…

【Go学习笔记】第四章 Go 数组

前言&#xff1a;下面的内容都是边看【飞雪无情】大佬的博客&#xff0c;自己边整理的&#xff0c;其中部分内容有过删改&#xff0c;推荐大家去看原作者的博客进行学习&#xff0c;本博客内容仅作为自己的学习笔记。在此之前&#xff0c;我跟着b站韩茹老师刷完了Go语言入门教程…

基于GO的微服务架构

一、服务端架构的演进 1、单体架构 在 Web 应用程序发展的早期&#xff0c;大部分工程是将所有的服务端功能模块打包成单个巨石型应用&#xff0c;最终会形成如下图所示的架构。 优点&#xff1a; 开发简单技术单一部署方便 缺点&#xff1a; 随着业务的发展&#xff0c;应…

一文带你了解优秀的Go 语言开源项目

前言 由于Go语言的发展势头越来越猛&#xff0c;最近整理了许多关于GO语言的开源项目&#xff0c;共同学习&#xff0c;共同交流&#xff0c;共同进步。 1.文件系统&#xff08;File System&#xff09;篇 用于大文件版本控制的 Git 扩展–git-lfs用于小文件的简单且高度可扩…

搞定Go语言之第三天

数组 数组是具有相同唯一类型的一组已编号且长度固定的数据项序列&#xff0c;这种类型可以是任意的原始类型例如整型、字符串或者自定义类型。 声明一维数组 语法&#xff1a; var variable_name [SIZE] variable_type实例&#xff1a; var balance [10] float32初始化一…

搞定Go语言之第六天

Go的CSP并发模型 Go的CSP并发模型&#xff0c;是通过goroutine和channel来实现的。 “不要以共享内存的方式来通信&#xff0c;相反&#xff0c;要通过通信来共享内存。” goroutine 是Go语言中并发的执行单位。有点抽象&#xff0c;其实就是和传统概念上的”线程“类似&…

ETCD实战

简介 etcd介绍 详情见腾讯文档&#xff1a;https://docs.qq.com/doc/DTndrQXdXYUxUU09O?opendocxfromadmin: etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统&#xff0c;可以用于配置共享和服务的注册和发现。 类似项目有zookeeper和consul。 etcd具…

学习函数式编程、可变参数及 defer - GO语言从入门到实战

函数是⼀等公⺠、学习函数式编程、可变参数及 defer - GO语言从入门到实战 函数是⼀等公⺠ 在Go语言中&#xff0c;函数可以分配给一个变量&#xff0c;可以作为函数的参数&#xff0c;也可以作为函数的返回值。这样的行为就可以理解为函数属于一等公民。 与其他主要编程语⾔…

go语言学习笔记(四)

一、管道和goroutine package mainimport ("fmt" )//write Data func writeData(intChan chan int) {for i : 1; i < 50; i {//放入数据intChan <- i //fmt.Println("writeData ", i)//time.Sleep(time.Second)}close(intChan) //关闭 }//read data…

【Go Web学习笔记】第八章 Go与Cookie

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

【Go Web学习笔记】第七章 避免SQL注入

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

Go语言基础语法学习笔记[2]

&#xfeff;&#xfeff;算术运算符&#xff1a; - * / % -- 注意&#xff1a; --这两个运算符不返回值&#xff0c;所以不能作为赋值或输出&#xff0c;例如下面的用法是非法的 var a int 3 fmt.Println(a) //syntax error: unexpected , expectingcomma or ) var b…

Android 内存泄露(Memory Profiler和LeakCanary)

什么是内存泄露&#xff1f; 按照传统定义&#xff0c;内存泄露属于对象&#xff0c;正在运行的程序无法访问这个对象&#xff0c;但这个对象仍然占据 着内存这就叫内存泄露。这在c/c里面的指针比较好理解。 但是在kotlin和java中情况有些不同&#xff0c;因为这些程序是在Jav…

前后端分离开发之后端开发01-gin配置与第一个程序

gin配置 1. 创建项目并初始化 创建项目 初始化并生成go.mod go mod init just.com/ginStudy01 此处的just.com一般指公司名&#xff0c;&#xff0c;可以自行定义&#xff0c;/ginStudy01指项目名。 2. 安装gin依赖 go get -u github.com/gin-gonic/gin 安装后会生成如上图…

【Go Web学习笔记】第十三章 Go与模板处理

前言&#xff1a;大家好&#xff0c;以下所有内容都是我学习韩茹老师的教程时所整理的笔记。部分内容有过删改&#xff0c; 推荐大家去看原作者的文档进行学习&#xff0c; 本文章仅作为个人的学习笔记&#xff0c;后续还会在此基础上不断修改。学习Go Web时应该已经熟悉Go语言…

你知道一个比SpringBoo快44倍的Java框架嘛?

最近栈长看到一个框架&#xff0c;官方号称可以比 Spring Boot 快 44 倍&#xff0c;居然这么牛逼&#xff0c;有这么神奇吗&#xff1f;今天带大家来认识一下。 这个框架名叫&#xff1a;light-4j。 官网简介&#xff1a;A fast, lightweight and more productive microservi…

GO语言:bleve整合gojieba测试demo

sorry 写错了 有需要去看这个吧 https://github.com/ttys3/gojieba-bleve/blob/master/bleve_test.go 1.引用包 import ("fmt""github.com/yanyiwu/gojieba""os""strconv""strings""testing""time"&…

Go语言学习Day3:数据类型、运算符与流程控制

名人说&#xff1a;莫愁千里路&#xff0c;自有到来风。 ——钱珝 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1、数据类型①布尔类型②整型③浮点型④string⑤类型转换 2、运算符①算术运算符②逻辑运算符③关…

Go语言之变量(一)

转发自自己的公众号&#xff08;灰子学技术&#xff09; 这篇文章便是笔者&#xff0c;在学习Go语言变量的时候&#xff0c;整理的一些知识。 一、变量定义的格式 C的变量定义表达式如下所示&#xff1a; Type name expression;&#xff0c;例如 int number 10; // 表示的…

要不要使用新技术

那时&#xff0c;天下人的口音、言语&#xff0c;都是一样。他们往东边迁移的时候&#xff0c;在示拿地遇见一片平原&#xff0c;就住在那里。他们彼此商量说&#xff1a;“来吧&#xff01;我们要作砖&#xff0c;把砖梢头了。”他们就拿砖当石头&#xff0c;又拿石漆当灰泥。…

GO语言从入门到实战-Go语言简介:历史背景、发展现状及语言特性

一、简述Go语言背景和发展 1. 软件开发的新挑战 多核硬件架构超大规模分布式计算集群Web 模式导致的前所未有的开发规模和更新速度 2. Go的三位创始人 Rob Pike Unix 的早期开发者 UTF-8 创始人 Ken Thompson Unix 的创始人 C语言创始人 …

⾯向对象编程:封装数据和⾏为、定义交互协议、扩展与复⽤ - GO语言从入门到实战

⾯向对象编程&#xff1a;封装数据和⾏为、定义交互协议、扩展与复⽤ - GO语言从入门到实战 一、封装数据和⾏为 结构体定义 定义了一个名为Structural的结构体。结构体是一种用户自定义的数据类型&#xff0c;可以包含不同类型的字段&#xff08;成员变量&#xff09;。 与…

go语言中文参考文档

Go语言函数类型实现接口——把函数作为接口来调用

go语言-context的基本使用

1. 什么是 Context&#xff1f; Go 1.7 标准库引入 context&#xff0c;中文译作“上下文”&#xff0c;准确说它是 goroutine 的上下文&#xff0c;包含 goroutine 的运行状态、环境、现场等信息。 context 主要用来在 goroutine 之间传递上下文信息&#xff0c;包括&#x…

go语言内存泄漏检查工具

和其它语言一样&#xff0c;go语言也提供了一些内存泄漏分析的工具&#xff0c;用来帮助查找和分析内存泄漏问题。有以下一些常用的工具和技术&#xff1a; 1、go tool pprof&#xff1a; Go内置了一个性能分析工具&#xff08;pprof&#xff09;&#xff0c;它可以用于分析内…

Golang1.7 Goroutine源码分析

一、 Golang简介 1.1概述 Golang语言是Google公司开发的新一代编程语言&#xff0c;简称Go语言&#xff0c;Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用&#xff0c;而新奇的类型系统允许构建有弹性的模块化程序。 Go 编译到机器码…

变量、常量以及与其他语言的差异 - Go语言从入门到实战

知识点 源码文件以_test结尾&#xff1a;xxx_test.go测试方法名以Test开头&#xff1a;func TestXXX(t *testing.T){…} 利用单元测试来写代码段&#xff0c;保存之后会自动运行程序返回结果&#xff0c;可以快速实践得到反馈。 编写测试程序 接下来练习一下&#xff0c;怎…

如何优雅地关闭channel

目录 channel关闭原则&#xff08;The Channel Closing Principle&#xff09; 关闭channel的方法&#xff08;不那么优雅&#xff09; 关闭channel的方案&#xff08;稍微优雅&#xff09; 优雅地关闭channel的方案 1. M个接收者&#xff0c;1个发送者 2.一个接收者&…

Go语言数据类型实例讲解 - Go语言从入门到实战

Go语言数据类型实例讲解 - Go语言从入门到实战 基础数据类型 bool string int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr byte rune float32 float64 complex64 complex128类型描述bool布尔型&#xff08;bool&#xff09;&#xff1a;可以是true或f…

2021年GopherChina大会-核心PPT资料下载

一、峰会简介 自 Go 语言诞生以来&#xff0c;中国便是其应用最早和最广的国家之一&#xff0c;根据 Jetbrains 在 2021 年初做的调查报告&#xff0c;总体来说目前大概有 110 万专业的开发者 选择 Go 作为其主要开发语言。就其全球分布而言, 居住在亚洲的开发者最多&#xff…

go语言学习笔记(五)

类型断言一 package mainimport "fmt"type Point struct {x inty int }func main() {var a interface{}var point Point Point{1, 2}a pointvar b Point//b ab a.(Point) //类型断言fmt.Println(b)//类型断言(带检测的)var x interface{}var b2 float32 2.1x …

Go 语言 win 环境搭建及开发工具配置

文章目录Go 语言介绍Go 语言成功的项目Go 环境 win 环境搭建1&#xff09;下载安装 Golang2&#xff09;安装软件Go 语言开发工具 Vscode 配置1&#xff09;下载安装 vscode2&#xff09;安装vscode3&#xff09;汉化 vscode4&#xff09;vscode 中安装 Go 语言插件5&#xff0…

GO语言range的用法

range是go语言系统定义的一个函数。 函数的含义是在一个数组中遍历每一个值&#xff0c;返回该值的下标值和此处的实际值。 假如说a[0]10&#xff0c;则遍历到a[0]的时候返回值为0&#xff0c;10两个值。 下面是一个例子:这个例子是求一个数组里面的平均值。 package maini…

高软 go语言 lab3

实验思路 实现内部模块化的命令行小程序&#xff0c;注意代码的业务逻辑和数据存储之间的分离&#xff0c;即将系统抽象为两个层级&#xff1a;菜单业务逻辑和菜单数据存储。 要求&#xff1a;1&#xff09;遵守代码风格规范&#xff0c;参考借鉴代码设计规范的一些方法&…

Go 学习之依赖管理篇

文章目录1|基础环境变量理解2|依赖管理工具的产生2.1|依赖的查找2.2|GOPATH 的缺点2.3|vendor2.4|Go Module2.5|Go Module 的使用3|依赖包的存储4|go.sum 文件说明4|其他环境变量说明1|基础环境变量理解 - GOROOT 指向 Go 的安装目录&#xff08;包含着开发 Go 应用程序所需的…

第一期学习总结

在工作的过程中&#xff0c;不断听到新名词&#xff0c;新概念&#xff0c;新方法。觉得是时候总结一波知识点记录下来&#xff0c;促进深入了解的同时&#xff0c;便于以后复习。非常喜欢阮老师的每周分享&#xff0c;但是做不到像他一样每周去浏览那么多东西&#xff0c;而且…

前后端分离开发之后端开发03-gorm数据库操作

安装依赖 安装gorm依赖 go get -u github.com/jinzhu/gorm 安装Mysql依赖 go get github.com/go-sql-driver/mysql 导入依赖 import (_"github.com/go-sql-driver/mysql""github.com/jinzhu/gorm" ) 模型定义 数据模型定义主要解决的是&#xff0c;g…

【Go语言 · 学习笔记】

文章目录Go语言 学习笔记一、Go包管理1. 什么是Go语言中的包2. 包的命名3. main包4. 导入包5. 远程包导入6. 命名导入7. 包的init函数二、Go开发工具1. Go 开发工具概览2. go build3. go clean4. go run5. go env6. go install7. go get8. go fmt9. go vet10. go test三、Go D…

ubuntu 16.04安装go语言并配置VSCode使用环境

一、go语言安装 1、下载安装文件 由于go语言为goole开发&#xff0c;官方网站被墙&#xff0c;我们可以到国内镜像网站进行下载。 https://www.golangtc.com/download 本次安装使用源码为&#xff1a;go1.9.2.linux-amd64.tar.gz 2、将安装文件解压到指定目录 $sudo tar …

go第一讲:hello world

语言之争就不说了&#xff0c;但凡是比较流行的语言&#xff0c;肯定有自己的优势&#xff0c;今天我们要说的是千家万晓的一个语言&#xff1a;go一&#xff1a;下载去官网下载&#xff08;国内打不开&#xff09;、各大资源网站下载、各交流群索取&#xff0c;我是想传一个资…