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
golang学习
Golang学习
笔记:通道Channel(以通信作为手段来共享内存)
转载请注名出处:https://blog.csdn.net/sublio/article/details/106478103全系列目录:https://blog.csdn.net/sublio/article/details/106480267通道类型:以通信作为手段来共享内存Channel(注:引用类型,零值为nil不能直接用)目录Channel(注:引用类型,零值为nil不能直接用)声明和初始
sublio
·
2020-07-29 06:24
GoLang
基础
Golang笔记 6.3.1 gRPC 使用 metadata 自定义认证
2.1客户端请求中携带metadata2.2服务端中解析metadata3helloworld示例修改3.1客户端3.2服务端3.3运行效果4小结END前言我正在学习酷酷的Golang,可点此查看帖子
Golang
iotisan
·
2020-07-29 05:02
开发
-
Golang
Golang学习
之在项目中遇到的几个常用的方法
1、TempFileTempFile在dir目录中创建一个以prefix为前缀的临时文件,并将其以读写模式打开。返回创建的文件对象和遇到的错误。如果dir为空,则在默认的临时目录中创建文件(参见os.TempDir),多次调用会创建不同的临时文件,调用者可以通过f.Name()获取文件的完整路径。调用本函数所创建的临时文件,应该由调用者自己删除。funcTempFile(dir,prefixstr
fswy
·
2020-07-29 02:02
Golang自学及项目实战
golang
方法
项目
golang学习
笔记-gin中间件
简述gin中间件类似java的拦截器,通过中间件可以在处理具体的route请求时,提前做一些业务。比如用户有效性的校验,特定日志格式的打印,错误日志的打印等等。gin的中间件大致可以分为两类,全局中间件和路由中间件,下面记录gin的中间件学习过程中的一些问题。一、全局中间件1.默认中间件全局中间件作用于所有的路由上,所有的路由请求都需要经过这些全局中间件。gin本身提供了一些基础的中间件:func
搬砖的小青年儿
·
2020-07-28 23:52
#
golang
golang
gin
中间件
【
Golang学习
笔记】入门:环境变量与Package
Golang入门学习环境变量Golang的环境变量有GOROOT和GOPATHGOROOTGOROOT是Golang的安装路径,以mac为例,通过Homebrew安装好的Golang之后,可以配置局部环境变量。exportGOROOT=/usr/local/goGOPATHGOPATH是作为编译后二进制的存放目的地和import包时的搜索路径,也就是自己创建Golang项目的工作目录。GOPATH
LvJC
·
2020-07-27 12:00
Golang学习
系列第七天:操作Redis
0redis安装请参考Redis备忘录1.golang操作redis切换到golang工作目录,新建项目redis,然后建立连接redis的文件[root@mastersrc]#pwd/dongguangming/goworkspace/src[root@mastersrc]#mkdirredis[root@mastersrc]#cdredis/[root@masterredis]#touchre
董广明
·
2020-07-26 14:00
Golang学习
系列第四天:操作数据库PostgreSQL
继
Golang学习
系列第三天https://www.cnblogs.com/dongguangming/p/13311198.html:数组、切片、Map、结构体、指针、函数、接口类型、channel通道
董广明
·
2020-07-18 01:00
golang学习
笔记-基础篇(持续更新……)
一、零碎知识点脚手架1)本地godoc文档在cmd中执行命令godoc-http=:6060即可在本地的6060端口查看文档,和访问官网一样的。如下:2.gotest1)gotest-v.\example_test.go执行用例,-v表示显示执行的结果,以下加v和不加v:2)//output二、面试知识点基础知识点1)new和make的区别new内建函数,初始化一个指向类型的指针(*T),传递给n
搬砖的小青年儿
·
2020-07-16 05:44
#
golang
golang学习
笔记-golang调用c实现的.so接口细节
目的之前有一篇关于在windows平台下golang调用dll的具体实现,列举了常见的几种参数传递方式,本篇文章就针对在linux平台下使用cgo调用c实现的.so的一些具体的方式。比如值传递、参数传递、指针等等的一些使用。环境:centos7.6.18编译环境:go1.11.4linux/amd64、4.8.520150623(RedHat4.8.5-36)(GCC)一、动态库的实现动态库实现了
搬砖的小青年儿
·
2020-07-16 05:44
#
golang
golang学习
笔记-协程详解
一、进程,线程和协程1、概念的区别进程、线程,都是由内核进行调度,有CPU时间片的概念,进行抢占式调度(有多种调度算法)协程(用户级线程),这是对内核透明的,也就是系统并不知道有协程的存在,是完全由用户自己的程序进行调度的,因为是由用户程序自己控制,那么就很难像抢占式调度那样做到强制的CPU控制权切换到其他进程/线程,通常只能进行协作式调度,需要协程自己主动把控制权转让出去之后,其他协程才能被执行
搬砖的小青年儿
·
2020-07-16 05:12
#
golang
Golang学习
笔记08 链表
链表(Linkedlist)是一种常见数据结构,但并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针。由于不必须按顺序存储,链表在插入的时候可以达到O(1),比顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间。Go语言的container包中,目前有heap,list,ring三种数据结构。Heap堆(可实现最大堆和最小堆)List双向链表Ring环形链表链
panxiang162497
·
2020-07-16 04:29
从Python到
Golang学习
笔记
从本科学过C/C++和java,但是实际项目中用的多的是python.因此python深刻影响了我的编程思维,从python转到Go,让我总结了一些学习笔记.静态/动态如果你在python之前没有C或JAVA等静态语言的代码量积累,接触go之后,编程习惯上最大的各种不同基本都可以归根于动态语言与静态语言的区别.简单来说,两门语言各自的编译解释的方式不同,造成了编程时思维的不同.python是一行一
chrispink_yang
·
2020-07-16 03:49
Go
python学习笔记
Golang学习
笔记(三):Windows下Go Micro微服务开发环境搭建以及跨过的坑
Golang学习
笔记(三):Windows下GoMicro微服务开发环境搭建以及跨过的坑1概述2安装go(已安装的略过)3安装Git、protoc、consul3.1安装git(已安装的略过)3.2安装
飛龍~~
·
2020-07-15 23:46
编程开发
#Golang
Golang学习
笔记--三种读文件的方式
Golang中读取文件大概有三种方法,分别为:通过原生态io包中的read方法进行读取通过io/ioutil包提供的read方法进行读取通过bufio包提供的read方法进行读取通过下面代码我们来学习和对比下三种方式:packagemainimport("os""io""bufio""io/ioutil""time""log")funcreadCommon(pathstring){file,err
cbmljs
·
2020-07-15 21:47
Golang
golang学习
Golang学习
笔记
教程day07-08笔记day06-05一、初识Golang1.1环境安装1.1.1安装包下载Go安装包下载网址:https://golang.org/dl/这里使用msi安装版,比较方便千万不要在安装路径中出现中文,一路Next//可以查看是否安装成功goven1.1.2Go模块代理设置打开终端并执行goenv-wGOPROXY=https://goproxy.cn,direct还有一个代理地址
YeSilin
·
2020-07-15 19:12
golang
golang学习
笔记(二)
workerpool(goroutine池):Go语言中的goroutine虽然相对于系统线程来说比较轻量级,但是在高并发量下的goroutine频繁创建和销毁对于性能损耗以及GC来说压力也不小。充分将goroutine复用,减少goroutine的创建/销毁的性能损耗,这便是grpool对goroutine进行池化封装的目的。例如,针对于100W个执行任务,使用goroutine的话需要不停创建
YuNansen
·
2020-07-15 16:29
golang
Golang学习
之---Golang的函数、包、错误处理机制、函数参数传递方式、变量(三)
一、函数1、函数的基本语法2、函数的调用过程上面的堆和栈都是逻辑空间,从上图可以得知:(1)在调用一个函数时,会给该函数分配一个新的空间,编译器会通过自身的处理让这个新的空间和其他栈的空间区分开来(2)每个函数对应的栈中,数据空间是独立的,不会混淆(3)当一个函数调用完毕后,编译器会自动销毁这个函数对应的栈空间。3、函数的递归调用在数据结构中,递归是一个重要的知识。一个函数在函数体内又调用了本身,
37358143
·
2020-07-15 16:42
Go
Go/
Golang学习
资源整理
本文主要整理一些Golang的文章,随着学习深入会不断更新的。如果链接失效了,请留言,我会及时更新。视频:《跟着无闻学Golang》:强烈推荐网页书:《GoByExample》:这本书是最入门的《LearnGowithtests》:这本书围绕着测试展开,没有测试基础的可能看起来会有点绕《buildwebapplicationwithgolang》《7daysgolangappsfromscratc
Kyda
·
2020-07-15 16:04
Go
Golang学习
笔记:常见问题
Golang学习
笔记:常见问题标签(空格分隔):golang参考GolangFrequentlyAskedQuestions,很好的参考文档,理解Golang必读。
u2takey
·
2020-07-15 15:28
golang
菜鸟教程------
Golang学习
笔记
1.go的语言结构基础组成部分有:包声明、引入包、函数、变量、语句&表达式、注释eg.packagemainimport"fmt"funcmain(){//一个简单程序fmt.Println("Hello,World!")}2.go中的标识符标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(AZ和az)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不
Yliy_puppy
·
2020-07-15 14:17
笔记
互联网世界中的C语言——我的
golang学习
笔记:1(基础语法快速过)
前言学习任何知识都会有一个学习背景最近,我们团队乃至我司整个云服务,上go的呼声越来越高!新服务已经开始用go开发,部分现有Java版的服务重构为go也只是时间问题而已,故相关技术积累势在必行!在云网络的分布式服务乃至在一切高并发,分布式后台服务中,golang都有着很大的优势。据我对国内互联网行业的实际考察,了解,目前国内主流互联网公司都在积极投入go的怀抱……青云更是全栈使用了go……还有火的
diaoyanqin5061
·
2020-07-15 13:09
golang学习
笔记18 用go语言编写移动端sdk和app开发gomobile
golang学习
笔记18用go语言编写移动端sdk和app开发gomobilegomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u012491783
weixin_34195364
·
2020-07-15 05:09
GoLang学习
-- goroutine使用指南
并发是golang最有核心竞争力的功能,golang的并发依赖的并不是线程,而是协程。协程和线程有什么区别呢?最大的区别就是协程比线程更为轻量。默认情况中一个进程最大可以启动254个线程,这个数值也可以改为无限制,但主机资源消耗就会非常严重。而使用协程就不同了,一个进程可以轻轻松松启动上万个协程而毫无压力。因此本篇文章就来说说在golang中如何创建使用协程。golang设计协程的目的,一方面是为
vikings_1001
·
2020-07-15 02:03
code
google
cloud
golang
golang学习
之beego增删改查代码实现
记录下使用beego的增删改查实现,数据库使用mysql,完整代码如下:packagemainimport(_"crud_beego/routers"//自动注册路由"fmt""github.com/astaxie/beego""github.com/astaxie/beego/orm"_"github.com/go-sql-driver/mysql")const(DRIVER_NAME="mys
chunyouhai5703
·
2020-07-14 09:40
Golang学习
系列第二天:变量、常量、数据类型和流程语句
继golang第一天后,今天学习下golang的变量、常量、数据类型和控制流语句。做过其他编程语言(比如JavaScript,java,python)项目的话,其实很好理解变量、常量、数据类型和控制流。变量也被称为“变数”,是反映事物运动变化状态的量,比如汇率、房贷利率、贷款利率。常量也被称“常数”,是反映事物相对静止状态的量,一旦定义,后续不能更改,比如圆周率PI。Golang是不同于JavaS
董广明
·
2020-07-13 23:00
golang学习
笔记之并发优化(一)
golang在并发上面还是很优雅的,有事细节大家可能不太了解。多处通知一次当wait阻塞等待done时,如果完成后,所有之前阻塞的wait都将收到通知,这样就可以通知多个协程。packagemainimport("fmt""sync""time")funcmain(){varwgsync.WaitGroupwg.Add(1)gofunc(){fmt.Println("wait1enter")wg.
u010278923
·
2020-07-13 14:11
golang
golang学习
之路1-初始学习
开始翻看菜鸟教程学习golang了,现在从最初的helloworld开始学起,期间学到几个问题。按道理应该一一记录下来1.包引入问题一般来说开头这几行代码最常见,对我自己基本次次都在packagemainimport("fmt""strconv")注意事项,如果只有一个go文件,想要运行的话必须包含packagemain,如果换成其他包名则无法运行另外fmt是一个格式输出到控制台的,里面包含了类似
晚风拂柳颜
·
2020-07-13 10:11
GO自学之路
golang学习
之如何判断Channel是否已经关闭【转载】
为什么有这样的问题?来自我的一个bug,我期初认为close了一个channel,消费端的goroutine自然是可以拿到channel的关闭状态。然而事实并不是这样的。只有当channel无数据,且channel被close了,才会返回ok=false。所以,只要有堆积,就不会返回关闭状态。导致我的服务花时间来消费堆积,才会退出。测试channel的关闭状态//xiaorui.ccpackage
cyb_17302190874
·
2020-07-13 03:24
golang学习
笔记之WEB框架ECHO
ECHO是golang的一款轻量级的web框架,如同python里的flask,非常灵活,可扩展性很强。hello,ECHO!安装gogetgithub.com/labstack/echo/...一个简单的hellofuncmain(){//创建一个ECHO服务实例e:=echo.New()//ECHO里的URL路由以及对应的url处理函数e.GET("/",func(cecho.Context)
Noob_coder_JZ
·
2020-07-13 01:55
Golang学习
GoLang学习
笔记(二十五)map的声明、赋值、遍历、删除键值对
map是Go语言中的内置类型,它将一个值与一个键关联起来,可以使用相应的检索。有翻译成地图、映射或字典(python),更多的翻译为集合(java)map是一种无序的键值对(key-valuepair)的集合,map通过key来快速检索数据,key类似于索引,指向乡音的value值。map是一种集合,可以向遍历数组和切片一样去遍历它,不过map是无序的,所以无法决定它展示的顺序,这是因为map是使
雷司仁
·
2020-07-12 18:19
GoLang
GoLang学习
笔记(二十)切片的声明及遍历
Go语言的切片是对数组的抽象。Go中的数组的长度不可以改变,Go中就提供了一个灵活、功能强悍的内置类型切片:动态数组。与数组相比切片的长度是不固定的,可以追加元素。切片本身没有任何数据,他们只是对现有数组的引用。切片与数组相比,不需要设定长度,在[]中不用设置值。从概念上来说,切片slice像一个结构体,这个结构体包含了三个元素:1、指针,只想数组中slice指定的开始位置2、长度,即slice的
雷司仁
·
2020-07-12 18:19
GoLang
Golang学习
笔记:init函数
每一个源文件都可以包函一个init函数,该函数会再main函数执行前被Go运行框架调用,也就是说init会在main函数前被调用。如果一个文件同时包函全局变量定义,init函数和main函数,则执行的流程为:全局变量定义---->init函数---->main函数init函数最主要的作用,就是完成一些初始化的工作。用一个例子来说明一下:funcinit(){fmt.Println("init()s
雷司仁
·
2020-07-12 18:18
GoLang
GoLang学习
笔记(十九)数组的声明及遍历
要了解数组,必须先了解一下Go的数据类型的另一种分类(上一种是非引用数据类型和引用数据类型,可以参考上一篇文章)1、基本数据类型:整形、浮点、不二、字符串、字符2、复合数据类型:函数与指针、数组、切片、map、list、结构体、通道数组:素组元素可以通过索引下标来读取或者修改元素数据,索引从0开始以此类推。素组初始化以后,大小不能更改。声明数组的语法格式:var变量名[数组长度]数据类型这是一维数
雷司仁
·
2020-07-12 18:18
GoLang
GoLang学习
笔记(三十七)错误、异常的处理
在C语言中,默认采用一个证书类型的errno来表达错误,这样就可以根据需要定义多种错误类型。在Go语言中,syscall.Errno就是对应C语言中errno类型的错误。在syscall包中的接口,如果有返回错误的话,底层也是syscall.Errno错误类型。通过syscall包的接口来修改文件的模型时,如果遇到错误可以通过将err强制断言为syscall.Errno错误类型来处理。还可以进一步
雷司仁
·
2020-07-12 18:18
GoLang
Golang学习
笔记(九)for循环语句
Golang的for相较于java,并不需要使用()括起来,基础for循环格式为for变量赋值;循环控制条件;变量增量或减量。第一种基础形式,在for中申明变量,这种变量仅仅作用与该循环。fori:=0;i10{break}fmt.Printf("%d",i)}第四种基础形式,循环的三个标准值都不在for关键字后写明。PS:虽然if中已经break了,但因为i++是在Printf前面,所以结束前会
雷司仁
·
2020-07-12 18:18
GoLang
Golang学习
笔记:函数的defer
在函数中,经常需要创建资源,比如数据库连接、文件句柄、锁等,为了在函数执行完后,及时的释放资源,Go的设计者提供defer关键字,当执行到defer时,不会执行该行语句,将defer压入到独立的defer栈中,当函数执行完毕后,再从的defer栈中,按照先入后出的方式出栈,执行。funcmain(){deferfmt.Println("00001")deferfmt.Println("00002"
雷司仁
·
2020-07-12 18:18
GoLang
尹成学院
golang学习
快速笔记(1)类型
1.1变量Go是静态类型语⾔,不能在运⾏期改变变量类型。使⽤关键字var定义变量,⾃动初始化为零值。如果提供初始化值,可省略变量类型,由编译器⾃动推断。varxintvarffloat32=1.6vars="abc"在函数内部,可⽤更简略的":="⽅式定义变量。funcmain(){x:=123//注意检查,是定义新局部变量,还是修改全局变量。该⽅式容易造成错误。}可⼀次定义多个变量。varx,y
尹成
·
2020-07-12 18:21
GO语言
Golang学习
索引
第一优先级官方文档环境部署环境搭建及编译器设置go语言基础变量和常量(变量声明,常量声明,常量计数器-iota)基本数据类型(整型,浮点,布尔,字符串)运算符(算数运算,关系运算,逻辑运算,位运算)格式化输出和捕获输入(fmt模块的使用)流程控制(if,for,switch,goto,break,continue)Array-数组(定长,相同元素,元素可变,值类型)Slice-切片(创建,深拷贝,
叁丶贰壹
·
2020-07-12 17:14
Go
golang学习
笔记之panic recover
golang异常捕获后,可以记录堆栈信息到日志,方便以后分析,同时异常捕获后,主程序可以继续运行;recover初级用法示例代码如下:packagemainimport("fmt""runtime/debug""time")funcPanicTrace(){iferr:=recover();err!=nil{fmt.Println("panic:",err,",stack:",string(deb
woailuo626
·
2020-07-12 15:15
golang编写矩形程序
个人github(
golang学习
笔记):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%82%
朝码夕拾
·
2020-07-12 13:00
golang
矩形程序
双向链表(golang实现)
个人github(包括
golang学习
笔记、源码):https://github.com/fangguizhen/Notes/blob/master/Golang%E7%9F%A5%E8%AF%86%E7%
朝码夕拾
·
2020-07-12 13:30
数据结构与算法
golang学习
(三)—— 数组、切片、map
编码规范:可参考这篇文章:Golang编码规范数组(array)vararr[n]type|n为数组长度,type为元素类型arr:=[...]int{4,5,6}|自动计算长度分配空间特点:数组的长度在定义后无法再次修改数组是值类型,每次传递都将产生一份副本注:数组长度属于数组类型的一部分,例如:[3]int和[4]int是不同的类型切片(slice)数组的主要缺点就是我们需要预先知道数组长度,
weixin_33985507
·
2020-07-12 08:08
golang学习
笔记15 golang用strings.Split切割字符串
golang用strings.Split切割字符串kv:=strings.Split(authString,"")iflen(kv)!=2||kv[0]!="Bearer"{beego.Debug("AuthStringinvalid:"+authString)base.ReturnError(errors.New("AuthStringinvalid:"+authString))return""
weixin_30753873
·
2020-07-12 06:36
Golang学习
笔记--Slice
slice切片(Slice)由指针、长度、容量组成,属于引用类型,是一种基于数组的可变长数据类型,与数组array类型关系密切,其中:1.指针指向所引用数组的特定元素,该元素为slice的首元素,但不一定是数组的首元素2.长度(len)为切片的长度3.容量,从指针指向的数组的位置,到数组最后元素位置的长度使用append可以向切片添加元素,像slice添加元素,实际上是向slice所引用的数组添加
fengdy
·
2020-07-12 03:58
Golang学习
笔记:定时器
转载请注名出处:https://blog.csdn.net/sublio/article/details/106477855全系列目录:https://blog.csdn.net/sublio/article/details/106480267Timer和Ticker目录Timer和TickerTimer(一次)Ticker(循环)参考文档Timer(一次)不能直接用复合字面量来初始化(有一个包级
sublio
·
2020-07-12 00:59
GoLang
基础
Golang学习
日志 ━━ VSCode安装Go插件(代理的使用)及初用mod
目录插件安装1.参考本文安装Golang2.安装VSCode3.配置代理4.下载gotoolsgomod一种包的管理方式参考根据Golang1.14.4版本插件安装1.参考本文安装Golang《
Golang
暂时先用这个名字
·
2020-07-11 23:34
程序
Golang学习
笔记---“泛型”的实现
Golang学习
笔记---“泛型”的实现大家都知道,go语言中是没有泛型的,但是我们可以通过空接口的方式来实现泛型的功能,具体实现方式如下:packagemainimport"fmt"//空接口可以作为任何类型使用
JiaYingYing
·
2020-07-11 18:20
golang学习
笔记-查看gc
windows:在cmd命令行下:1.设置跟踪GC的临时环境变量setGOGCTRACE=1setGODEBUG=gctrace=12.将gc写入日志中xxx.exe2>gc.log在生成的gc跟踪日志中查看gc的过程,下面是截取的一部分gc日志:
[email protected]
%:0+11+0.99msclock,0+0/15/0+7.9mscpu,25->25->24MB,26MBgoal,8Pgc2@
搬砖的小青年儿
·
2020-07-11 16:51
#
golang
GoLang学习
笔记(二十二)切片的append()和copy()
首先新建一个切片:varnumbers[]int然后通过append()函数来为numbers添加一个元素0:numbers=append(numbers,0)也可以通过append()函数来为numbers添加多个元素:numbers=append(numbers,1,2,3,4,5,6,7)还可以为numbers做切片的合并:s1:=[]int{11,12,13,14,15,16,17}num
雷司仁
·
2020-07-10 20:21
GoLang
Golang学习
- bytes 包
------------------------------------------------------------对于传入[]byte的函数,都不会修改传入的参数,返回值要么是参数的副本,要么是参数的切片。------------------------------------------------------------//转换//将s中的所有字符修改为大写(小写、标题)格式返回。fun
weixin_30339457
·
2020-07-10 18:53
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他