E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Go语言学习
Go语言学习
笔记之错误和异常详解
目录错误异常总结错误Go语言通过内置的错误接口提供了非常简单的错误处理机制,Error类型是一个接口类型。typeerrorinterface{Error()string}可以在编码中通过实现error接口类型来生成错误信息。函数通常在最后的返回值中返回错误信息。//定义一个DivideError结构typeDivideErrorstruct{divideeintdividerint}//实现`e
·
2022-07-25 13:13
读书笔记 -
Go语言学习
指南:惯例模式与编程实践
Go的并发编程go关键字的任何返回值都会被忽略就像Java的Thread,Java的Thread你需要写一堆东西,但是go语言你只需要写一个gogoroutine在go语言里面,启动一个goroutine是简单的,复杂的是:如何取到goroutine的返回值如何确保goroutine不泄露如何优雅的关闭goroutine如何让goroutine和channel擦出火花范式:go+chanin5{f
·
2022-07-25 09:35
go
最全空降Golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享ppt
环境安装知识归纳电子书籍精选文章大佬视频开源项目学术论文大会PPT☁云原生源码下载Go官网下载地址:https://golang.org/dl/Go官方镜像站(推荐):https://golang.google.cn/dl/♂开启
Go
Linux技术狂
·
2022-07-09 10:53
go语言
golang
grpc
k8s
容器
Go语言学习
笔记—golang并发编程之原子操作
文章目录一原子变量的引入二原子操作详解2.1增减2.2比较并交换2.3载入2.4交换2.5存储一原子变量的引入先看一个实例:packagemainimport("fmt""sync""time")vari=100funcadd(){i++}funcsub(){i--}funcmain(){fori:=0;i<100;i++{goadd()gosub()}time.Sleep(time.Second
PPPsych
·
2022-07-08 07:55
Go语言进阶学习笔记
学习
golang
Go语言func匿名函数闭包示例详解
目录前言定义函数也可以作为函数的参数函数作为函数的返回值匿名函数闭包总结前言今天继续为大家更新
Go语言学习
记录的文章。函数是任何一门编程语言最重要的组成部分之一。
·
2022-07-05 19:08
go语言学习
笔记-初识Go语言
Go语言是怎样诞生的?Go语言的创始人有三位,分别是图灵奖获得者、C语法联合发明人、Unix之父肯·汤普森(KenThompson)、Plan9操作系统领导者、UTF-8编码的最初设计者罗伯·派克(RobPike)、以及Java的HotSpot虚拟机和Chrome浏览器的JavaScript
大熊君Bigbear
·
2022-07-05 10:00
[ 每周译Go ] 《How to Code in Go》系列文章上线了!!
《How-To-Code-in-Go》系列文章是现阶段最新的
Go语言学习
书,希望每位gopher们能够持之以恒,每篇都认真学习,好好吸收其中的要点、精华,我们一起加油,共同进步!
·
2022-07-04 20:06
程序员
Go语言学习
之Switch语句的使用
目录基本语法fallthrough使用方法多条件匹配判断接口(interface)类型空接口获取实际类型基本语法在讲述if-else时已经提到,如果有多个判断条件,Go语言中提供了Switch-Case的方式。如果switch后面不带条件相当于switchtrue//Converthexadecimalcharactertoanintvalueswitch{case'0'0:fmt.Println
·
2022-06-30 09:00
Go语言学习
教程(十四)
一、反射介绍*在Go语言标准库中reflect包提供了运行时反射,程序运行过程中动态操作结构体*当变量存储结构体属性名称,想要对结构体这个属性赋值或查看时,就可以使用反射.*反射还可以用作判断变量类型*整个reflect包中最重要的两个类型*reflect.Type类型*reflect.Value值*获取到Type和Value的函数*reflect.TypeOf(interface{})返回Typ
小陈工
·
2022-06-28 22:15
golang
大数据
go
学习
开发语言
链表
Go语言学习
教程(十三)
一、os包内容介绍*使用os包中内容进行操作系统文件或目录*File结构体表示操作系统文件(夹)*操作系统的文件都是有权限控制的,包含可读,可写等,在os包中FileMode表示文件权限,本质是uint32,可取值都以常量形式提供*FIleInfo是一个interface表示文件的信息*在获取系统资源时资源路径分为相对路径和绝对路径*相对路径:在Go语言中相对路径用于是GOPATH,也就是项目的根
小陈工
·
2022-06-28 22:45
golang
学习
服务器
servlet
go
golang
Go语言学习
教程(十二)
一、断言*只要实现了接口的全部方法就认为这个类型属于接口类型,如果编写一个接口,这个接口中没有任何方法,这时认为所有类型都实现了这个接口.所以Go语言中interface{}代表任意类型*如果interface{}作为方法参数就可以接收任意类型,但是在程序中有时需要知道这个参数到底是什么类型,这个时候就需要使用断言*断言使用时,使用interface{}变量点括号,括号中判断是否属于的类型iint
小陈工
·
2022-06-28 22:44
golang
学习
golang
开发语言
后端
网络协议
Go语言pointer及switch fallthrough实战详解
前言今天继续为大家更新
Go语言学习
记录的文章。首先说明pointer指针和switch是两个并没有直接关系的知识点,放在一篇文章中将的原因是,这两个知识点在学习和使用的过程中往往被大家忽视。
·
2022-06-17 11:25
适合PHP同学的GoFrame框架使用体验及学习建议
目录前言官方介绍我的使用体验设计思想学习建议有基础的同学无基础的同学官网地址小坑前言今天继续为大家更新
Go语言学习
记录的文章,介绍最近发现的一款非常优秀的框架:GoFrame。
·
2022-06-14 11:51
盘点 7 个 yyds 的开源项目
推荐7个不错的开源项目,本期所有的开源项目都是逛逛GitHub公众号粉丝推荐的,它们分别是:1.Unity3D的练习项目2.文档在线预览开源项目3.
GO语言学习
指南4.一种专为API而生的JSON网络传输协议
逛逛GitHub
·
2022-06-11 12:34
网络
java
编程语言
大数据
人工智能
Go语言学习
之WaitGroup用法详解
目录前言小试牛刀总览底层实现结构体AddDoneWait易错点总结前言在前面的文章中,我们使用过WaitGroup进行任务编排,Go语言中的WaitGroup和Java中的CyclicBarrier、CountDownLatch非常类似。比如我们有一个主任务在执行,执行到某一点时需要并行执行三个子任务,并且需要等到三个子任务都执行完后,再继续执行主任务。那我们就需要设置一个检查点,使主任务一直阻塞
·
2022-06-11 10:52
数据争用的理解 |
go语言学习
先看代码packagemainimport("fmt""runtime""sync""time")funcmain(){//runtime.GOMAXPROCS(1)//只使用一个cpu,让所有的groutine运行在一个线程上面注释这句话会发生数据争用varwgsync.WaitGroupvara=1fori:=0;i<10;i++{wg.Add(1)gofunc(){a++wg.Done()}
·
2022-05-24 22:30
golang
Go语言学习
笔记之文件读写操作详解
目录文件写文件读小结文件操作比较多,分为几篇来写吧。首先是文件的读写,在平时的工程化操作中使用最多。文件写样例代码如下packagemainimport("bufio""fmt""io""os")//写文件funcDoWriteFile()error{_filePath:="./test.txt"_file,_err:=os.OpenFile(_filePath,os.O_WRONLY|os.O_
·
2022-05-24 11:19
Go语言学习
函数+结构体+方法+接口
目录1.函数1.1函数返回值同一种类型返回值带变量名的返回值函数中的参数传递函数变量1.2匿名函数——没有函数名字的函数在定义时调用匿名函数将匿名函数赋值给变量匿名函数用作回调函数可变参数——参数数量不固定的函数形式1.3闭包1.4defer语句处理运行时发生的错误1.5宕机恢复(recover)——防止程序崩溃2.结构体2.1定义与给结构体赋值3.方法3.1结构体方法3.2接收器指针接收器非指针
·
2022-05-23 18:12
Go语言学习
——函数二 defer语句
函数packagemainimport"fmt"//函数:一段代码的封装funcf1(){fmt.Println("Hello中国!")}funcf2(namestring){fmt.Println("Hello",name)}//带参数和返回值的函数fun
PENGJUNQIAO
·
2022-05-07 22:00
Go语言学习
——map
map映射关系容器内部使用散列表(hash)实现map是引用类型必须初始化才能使用无序的基于key-value的数据结构map定义map的定义语法:map[KeyType]ValueType其中,KeyType:表示键的类型。ValueType:表示键对应的值的类型。map类
PENGJUNQIAO
·
2022-05-02 20:00
Go语言学习
——map
map映射关系容器内部使用散列表(hash)实现map是引用类型必须初始化才能使用无序的基于key-value的数据结构map定义map的定义语法:map[KeyType]ValueType其中,KeyType:表示键的类型。ValueType:表示键对应的值的类型。map类
PENGJUNQIAO
·
2022-05-02 20:00
Go语言学习
——指针、new和make
指针Go语言中不存在指针操作,只需要记住两个符号:&:取地址*:根据地址取值vscode打开多个标签页settings.json中输入"workbench.editor.showTabs":true指针地址和指针类型取变量指针的语法:ptr:=&v//v的类型为T其中:
PENGJUNQIAO
·
2022-05-01 10:00
GO语言学习
——切片三 append()方法为切片添加元素、切片的扩容策略、使用copy()函数复制切片、从切片中删除元素
append()方法为切片添加元素注意:通过var声明的零值切片可以在append()函数直接使用,无需初始化。vars[]ints=append(s,1,2,3)append()函数将元素追加到切片的最后并返回该切片。切片numSlice的容量按照1,2,4,8,16这样的
PENGJUNQIAO
·
2022-04-30 20:00
GO语言学习
——切片二
使用make()函数构造切片格式:make([]T,size,cap)其中:T:切片的元素类型size:切片中元素的数量cap:切片的容量切片的本质切片的本质就是对底层数组的封装,它包含了三个信息:底层数组的指针切片的长度(len)切片的容量(cap)切片的本质切片就是
PENGJUNQIAO
·
2022-04-29 00:00
GO语言学习
——切片一
切片(slice)数组的长度的固定的、是声明之后不能变的、是类型的一部分切片是一个引用类型切片的定义声明切片类型的基本语法如下:varname[]T其中,name:表示变量名T:表示切片中的元素类型切片底层就是数组切片定义之后初始化和数组一样只不过前面没有长度的数字切片
PENGJUNQIAO
·
2022-04-27 22:00
GO语言学习
——运算符
运算符Go语言内置的运算符有:算术运算符关系运算符逻辑运算符位运算符赋值运算符算术运算符|运算符|描述|||||+|相加||-|相减||*|相乘||/|相除||%|求余|注意:++(自增)和--(自减)在Go语言中是
PENGJUNQIAO
·
2022-04-23 22:00
Go语言学习
笔记——读锁重入导致死锁
现象funcTestLock(t*testing.T){l:=&lockWrapper{}varwgsync.WaitGroupwg.Add(2)gofunc(){s:=0fori:=0;i<0;1000000;i++{s+=l.Get()}t.Log(s)wg.Done()}()gofunc(){fori:=0;i<0;1000000;i++{l.Set(i)}t.Log(s)wg.Done()
·
2022-04-22 21:52
golang
Go语言学习
之数组的用法详解
目录引言一、数组的定义1.语法2.示例二、数组的初始化1.未初始化的数组2.使用初始化列表3.省略数组长度4.指定索引值的方式来初始化5.访问数组元素6.根据数组长度遍历数组三.访问数组元素1.访问数组元素2.根据数组长度遍历数组四、冒泡排序五、多维数组1.二维数组2.初始化二维数组3.访问二维数组六、向函数传递数组1.形参设定数组大小2.形参未设定数组大小3.示例总结引言数组是相同数据类型的一组
·
2022-04-22 16:32
Go语言学习
之指针的用法详解
目录引言一、定义结构体1.语法格式2.示例二、访问结构体成员三、结构体作为函数参数四、结构体指针总结引言Go语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型结构体是由一系列具有相同类型或不同类型的数据构成的数据集合结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性:Title:标题Author:作者Subject:学科ID:书籍ID一、定义结构体1.语法
·
2022-04-21 19:12
Go语言学习
之映射(map)的用法详解
目录1.什么是map2.创建map3.访问map4.nilmap和空map5.map中元素的返回值6.len()和delete()7.测试map中元素是否存在8.迭代遍历map9.获取map中所有的key10.传递map给函数1.什么是mapMap是一种无序的键值对的集合。Map最重要的一点是通过key来快速检索数据,key类似于索引,指向数据的值Map是无序的,我们无法决定它的返回顺序,这是因为
·
2022-04-21 18:41
Go语言学习
之文件操作方法详解
目录引言1.打开和关闭文件2.读取文件2.1defer语句2.2手动宕机处理2.3打开文件并获取内容2.4bufio读取文件2.5ioutil读取文件2.6读取奇偶行内容3.写入文件3.1os.OpenFile()函数3.2Write和WriteString方式写入3.3bufio.NewWriter方式写入3.4ioutil.WriteFile方式写入引言计算机的文件是存储再外部介质(硬盘)上的
·
2022-04-21 16:59
Go语言学习
之反射的用法详解
目录1.reflect包1.1获取变量类型1.2断言处理类型转换2.ValueOf2.1获取变量值2.2类型转换3.Value.Set3.1设置变量值3.2示例4.结构体反射4.1查看结构体字段数量和方法数量4.2获取结构体属性4.3更改属性值4.4Tag原信息处理5.函数反射6.方法反射6.1使用MethodByName名称调用方法6.2使用method索引调用方法反射指的是运行时动态的获取变量
·
2022-04-21 16:58
Go语言学习
之结构体和方法使用详解
目录1.结构体别名定义2.工厂模式3.Tag原信息4.匿名字段5.方法1.结构体别名定义变量别名定义packagemainimport"fmt"typeintegerintfuncmain(){//类型别名定义variinteger=1000fmt.Printf("值:%d,类型:%T\n",i,i)varjint=100j=int(i)//j和i不属于同一类型,需要转换fmt.Println(j
·
2022-04-21 10:20
GO语言学习
——Go语言基础之流程控制一
Go语言基础之流程控制ifelse(分支结构)packagemainimport"fmt"//if条件判断funcmain(){//age:=19//ifage>18{//如果age>18执行这个{}中的代码//fmt.Println("赌场开
PENGJUNQIAO
·
2022-04-20 22:00
Go语言学习
之时间函数使用详解
目录引言1.时间格式化2.示例引言1946年2月14日,人类历史上公认的第一台现代电子计算机“埃尼阿克”(ENIAC)诞生。计算机语言时间戳是以1970年1月1日0点为计时起点时间的。计算机诞生为1946年2月14日,而赋予生命力时间是从1970年1月1日0点开始。Hour1小时=60分钟Minute1分钟=60秒Second1秒=1000毫秒Millsecond1毫秒=1000微秒Microse
·
2022-04-19 18:35
Go语言学习
之链表的使用详解
目录1.什么是链表2.单项链表的基本操作3.使用struct定义单链表4.尾部添加节点5.头部插入节点6.指定节点后添加新节点7.删除节点1.什么是链表链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结
·
2022-04-19 16:57
Go语言学习
之函数的定义与使用详解
目录1、函数定义2、多值返回3、引用传递4、函数作为实参使用5、匿名函数1、函数定义函数的定义和java一样,使用{}进行包裹,并且要明确入参类型以及返回类型。样例代码如下:funcmin(num1,num2int)int{ifnum1y{returnx}else{returny}}a:=num1-10b:=getMax(num1,a)fmt.Printf("value=%d\n",b)retur
·
2022-04-18 13:24
GO语言学习
:基本数据类型——整型、浮点型、复数、布尔值、fmt占位符
基本数据类型整型整型分为以下两个大类:按长度分为:int8、int16、int32、int64对应的无符号整型:uint8、uint16、uint32、uint64其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。类型描述uint8无符号8位整型(0到255)uint16无符号16位整型(0到65535)uint32无符号32位整型
·
2022-04-18 09:32
数据类型
GO语言学习
:基本数据类型字符串
字符串Go语言中的字符串以原生数据类型出现。Go语言里的字符串的内部实现使用UTF-8编码。字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符GO语言中字符串是用双引号包裹的GO语言中单引号包裹的是字符//字符串s:="Hello中国"//单独的字母、汉字、符合表示一个字符c1:='h'c2:='1'c3:='中'//字节:1字节=8Bit(8个二进制位)//1个字
·
2022-04-17 12:22
数据类型字符串语言
GO语言学习
:变量和常量
变量和常量Go语言文件的基本结构packagemain//导入语句import"fmt"//函数外只能放置标识符(变量、常量、函数、类型)的声明//程序的入口函数main函数没有参数也没有返回值funcmain(){fmt.Println("Helloworld")}标识符与关键字标识符在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。Go语言中标识符由字母数字和
·
2022-04-17 10:47
变量常量语言
GO语言学习
——基本数据类型字符串
字符串Go语言中的字符串以原生数据类型出现。Go语言里的字符串的内部实现使用UTF-8编码。字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符GO语言中字符串是用双引号包裹的GO语言中单引号包裹的是字符//字符串s:="Hello中国"//
PENGJUNQIAO
·
2022-04-16 22:00
Go语言学习
之路(一)
Go语言学习
之路Go语言简介Go语言结构Go语言函数Go语言数组Go语言指针Go语言结构体Go语言范围(Range)Go语言Map(集合)Go语言接口Go错误处理Go并发通道Go与Python区别Go语言简介
果子哥丶
·
2022-04-16 11:06
Go
golang
go
Go语言学习
之循环语句使用详解
目录1、for循环2、for-each语法3、break的使用4、continue的使用5、goto的使用1、for循环写法基本和其他语言一致,只是没有了while循环,用for代替while。样例代码如下//for循环funcloop1(){sum:=0fori:=0;i0{ifa>4{break}a++b-=3}fmt.Printf("a=%d,b=%d\n",a,b)varcint=0var
·
2022-04-15 16:36
Go语言学习
之条件语句使用详解
目录1、if...else判断语法2、if嵌套语法3、switch语句4、类型switch语句5、fallthrough关键字使用小结1、if...else判断语法语法的使用和其他语言没啥区别。样例代码如下://判断语句funcpanduan(aint){ifa>50{fmt.Println("a>50")}elseifa=30")}}funcmain(){panduan(120)}执行结果a>5
·
2022-04-14 17:38
Go语言学习
之运算符使用详解
目录1、算术运算符2、关系运算符3、逻辑运算符4、位运算符5、赋值运算符6、特殊运算符1、算术运算符很常规,和java一样。样例代码如下//算术运算符funcbase(){a:=1b:=20c:=31d:=-1fmt.Printf("+->%d\n",a+b)fmt.Printf("-->%d\n",b-a)fmt.Printf("*->%d\n",b*d)fmt.Printf("/->%d\n"
·
2022-04-13 15:23
go语言学习
——函数,方法与接口
概述function,函数function,函数,是一个可以被其他代码或其自身调用的代码片段。当函数被调用时,参数被作为输入传递给函数,并且函数可以返回输出。函数可以让我们将一个语句序列打包为一个单元,然后可以从程序中其它地方多次调用。函数的机制可以让我们将一个大的工作分解为小的任务,这样的小任务可以让不同程序员在不同时间、不同地方独立完成。一个函数同时对用户隐藏了其实现细节。由于这些因素,对于任
·
2022-04-11 22:22
golang
GO语言学习
——基本数据类型——整型、浮点型、复数、布尔值、fmt占位符
基本数据类型整型整型分为以下两个大类:按长度分为:int8、int16、int32、int64对应的无符号整型:uint8、uint16、uint32、uint64其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。类型描
PENGJUNQIAO
·
2022-04-10 21:00
go语言学习
——匿名函数
什么是匿名函数匿名函数是指不需要定义函数名的一种函数实现方式,由一个不带函数名的函数声明和函数体组成。匿名函数的定义格式如下:func(参数列表)(返回参数列表){函数体}除了没有名字之外,它与普通的函数声明没有什么区别一些性质匿名函数可以在声明后调用func(dataint){fmt.Println("hello",data)}(100)函数可以作为一种类型被赋值给函数类型的变量//将匿名函数体
·
2022-04-10 20:54
golang
go语言学习
-数组,字符串和切片(未完待续)
数组Go语言的数组是一种值类型,虽然数组的元素可以被修改,但是数组本身的赋值和函数传参都是以整体复制的方式处理的。定义方式vara[3]int//定义长度为3的int型数组,元素全部为0varb=[...]int{1,2,3}//定义长度为3的int型数组,元素为1,2,3varc=[...]int{2:3,1:2}//定义长度为3的int型数组,元素为0,2,3vard=[...]int{1,2
·
2022-04-08 10:09
golang
go语言学习
笔记(四):调度器基础-爬上那座山
目录调度器概述调度器初始化第一个goroutine,maingoroutine的创建第一个goroutine,maingoroutine的调度非maingoroutine的创建、退出以及调度循环调度策略调度时机爬调度器概述调度的本质,即线程上下文在CPU中的切换,内核调度器负责对内核线程的调度,Go调度器做的,也是相似的工作,负责goroutine的调度。重要的全局变量:allgs[]*g//所有
tigerdanceonbyte
·
2022-03-25 18:46
go语言调度器的一些学习笔记
golang
开发语言
后端
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他