
go
文章平均质量分 61
Clown95
a low coder
展开
-
Go 语言 sync 包使用教程
Go 语言的 sync 包提供了基本的同步原语,用于在并发编程中协调 goroutine 之间的操作。原创 2025-03-26 04:45:38 · 806 阅读 · 0 评论 -
使用 Chromedp 监听网页请求和响应
ChromeDP 是一个 Go 语言实现的库,它提供了无头浏览器的操作和控制能力,可以用来进行网页自动化、爬虫和测试等工作。通过 ChromeDP,我们可以编程方式监听网页上的各种事件,包括网络请求和响应。原创 2025-03-26 04:35:29 · 556 阅读 · 0 评论 -
go语言并发的最佳实践
Go 语言的并发模型是其最强大的特性之一,基于,通过和实现轻量级并发.原创 2025-02-17 01:19:14 · 1164 阅读 · 0 评论 -
go get 拉取失败
解决方法git_bash执行git config --global --unset http.proxy原创 2021-07-23 14:27:52 · 381 阅读 · 0 评论 -
go语言实现屏幕截图
借助第三方库https://github.com/kbinani/screenshot安装go get github.com/kbinani/screenshot方法详情查看https://godoc.org/github.com/kbinani/screenshot自定义截图 Capture func Capture(x, y, width, height int) (*image.RGBA, error)返回指定桌面区域的屏幕截图。x,y是起点坐标, width,heig原创 2020-08-23 00:25:09 · 7695 阅读 · 1 评论 -
go跨平台编译
编译成Win可用二进制CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build编译成Linux可用二进制CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build 编译成Mac可用二进制CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build注意以上命令都是基于64为...原创 2020-02-16 16:22:07 · 388 阅读 · 0 评论 -
Go全栈面试题(1) -Go基础语法面试题
title: Go全栈面试题(1) -Go基础语法面试题tags: goauthor: Clown95Golang基础面试使用Go编程有什么好处?以下是使用Go编程的好处 :支持环境采用类似于动态语言的模式。例如,类型推断(x:= 0是int类型的变量x的有效声明)。编译时间很快。InBuilt并发支持:轻量级进程(通过goroutines),通道,select语句。简洁,简...原创 2019-05-28 13:22:51 · 4700 阅读 · 0 评论 -
Go全栈面试题(2) -Go进阶面试题
title: Go全栈面试题(2) -Go进阶面试题tags: goauthor: Clown95Golang进阶面试题Go的堆栈使用每个goroutine维护着一个栈空间,默认最大为4KB.当goroutine的栈空间不足时,golang会调用runtime.morestack(汇编实现:asm_xxx.s)来进行动态扩容.连续栈:当栈空间不足的时候申请一个2倍于当前大小的新栈...原创 2019-05-28 13:24:49 · 3461 阅读 · 2 评论 -
Go全栈面试题(3) -微服务面试题
title: Go全栈面试题(2) -微服务面试题tags: goauthor: Clown95微服务面试题Http get跟headget:获取由Request-URI标识的任何信息(以实体的形式),如果Request-URI引用某个数据处理过程,则应该以它产生的数据作为在响应中的实体,而不是该过程的源代码文本,除非该过程碰巧输出该文本。head: 除了服务器不能在响应中返回消息体...原创 2019-05-28 13:26:22 · 5023 阅读 · 0 评论 -
Go全栈面试题(4) -数据库面试题
title: Go全栈面试题(4) -数据库面试题tags: goauthor: Clown95数据库面试题MySQLMySQL的数据类型整型类型存储存储最小值最大值bytebitsignedsignedTINYINT18-27 = -12827-1 = 127SMALLINT216MEDIUMINT324...原创 2019-05-28 13:28:05 · 3323 阅读 · 0 评论 -
Go全栈面试题(5) -网络编程面试题
title: Go全栈面试题(5) -网络编程面试题tags: goauthor: Clown95网络面试题说一下五层协议应用层 :为特定应用程序提供数据传输服务,例如 HTTP、DNS 等协议。数据单位为报文。传输层 :为进程提供通用数据传输服务。由于应用层协议很多,定义通用的传输层协议就可以支持不断增多的应用层协议。运输层包括两种协议:传输控制协议 TCP,提供面向连接、...原创 2019-05-28 13:29:46 · 1240 阅读 · 0 评论 -
Go全栈面试题(6) -数据结构与算法面试题
title: Go全栈面试题(6) -数据结构与算法面试题tags: goauthor: Clown95数据结构与算法面试题基本排序,哪些是稳定的.选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法.简述算法的概念以及特征算法是求解一个问题所需要的步骤所形成的解决方法,每一步包括一个或者多个操作。无论是现实生活中还是...原创 2019-05-28 13:31:36 · 934 阅读 · 0 评论 -
Go语言练习题
title: Go语言练习题tags: Goauthor: Clown95Go基础编程Go初体验熟悉go的编译环境已经编译过程,根据Hello World输出,拓展打印出自我介绍。查询资料了解go语言的特点并简单的叙述。一个包是否可以在一个源文件里面多次引用?基础结构和类型以下变量名有哪些是不合法的?1a、abc、a&b 、年龄、 var、b...原创 2019-05-28 13:16:03 · 9303 阅读 · 2 评论 -
Goroutine(协程)的理解
title: Goroutine(协程)的理解tags: Go,Goroutineauthor: Clown95并发概念Go语言相对于其他语言的最大一个特色就是支持高并发编程模式。Goroutine(协程)是Go中最基本的执行单元。事实上每一个Go程序至少有一个Goroutine:主Goroutine。当程序启动时,它会自动创建。为了更好理解Goroutine,我们需要了解并发和并行...原创 2019-04-11 09:04:01 · 1385 阅读 · 0 评论 -
go语言实现推箱子游戏
title: go语言实现推箱子游戏tags: go相信大家都玩过推箱子这个游戏,本文我们就将用go语言实现一个推箱子游戏。地图构建首先我随便找了一个推箱子的关卡,并且用坐标的方式展现出来。我们可以看到其实这个地图就是个二维数组。因此我们先声明一个二维数组。 const ( W = 10 H = 7 ) var GameMap = [H][W]int{}我们用二...原创 2019-03-30 16:35:11 · 888 阅读 · 0 评论 -
用GO生成和识别二维码
title: 用GO生成和识别二维码tags: go,qrcode我们在做go web开发的时候,应该都遇到生成二维码分享的应用场景,下面我将介绍下使用go如何生成二维码。安装 go-qrcode我们不得不庆幸go的生态已经越来越丰富,有很多大牛已经帮我们写好了库,我们不必造轮子,直接拿过来用就好。首先,我们安装我们用到的go-qrcode库。go get -u github.c...原创 2019-03-13 21:52:20 · 3873 阅读 · 0 评论 -
Go语言解析时间并计算时间差
计算时间差在项目开发中,计算时间差是个很常用的功能, 比如说我们开发一个倒计时应用,要计算今日距离某一天相差多少时间。使用Sub函数Sub()两个时间点相减,获得时间差。t1:=time.Now() //获取本地现在时间time.Sleep(time.Second*2) //延时2秒t2:=time.Now()d:=t2.Sub(t1) //两个时间相减 fmt.Printl...原创 2018-10-15 21:24:07 · 17217 阅读 · 1 评论 -
go跨平台UI库andlabs/ui开发文档
原文:https://godoc.org/github.com/andlabs/ui#LibuiFreeText因原文需要翻墙查看,故做此记录GoDocHome Aboutui: github.com/andlabs/uiIndex | Files | Directoriespackage uiimport "github.com/andlabs/ui"IndexC...转载 2018-10-12 21:03:43 · 3424 阅读 · 0 评论 -
BlotDB简单使用
BlotDB简介Bolt是一个go语言实现的纯粹的 key /value存储,受到Howard Chu的 LMDB项目的启发。该项目的目标是为不需要完整数据库服务器(如Postgres或MySQL)的项目提供简单,快速,可靠的数据库。Bolt它很小,只关注值的设置和读取。Bolt虽小但是很稳定,它能够用于高负载生产环境。安装BlotBlot仅在Go中使用,所以使用前请先安装Go,然后使用g...原创 2018-10-08 22:04:32 · 1624 阅读 · 0 评论 -
go语言range的坑
go语言中使用range遍历slice、map等给我很大的便利。但是当我使用range 修改值,可能会发生你意想不到的结果。下面我们就来看下一段代码:package mainimport ( "fmt")func main() { slice := []int{0, 1, 2, 3} myMap := make(map[int]*int) for _,v :=ra...原创 2018-09-16 21:56:52 · 1845 阅读 · 0 评论 -
GO语言编码转换
应用场景: 读取文件的时候乱码问题:在 Golang 的调试过程中出现中文乱码 原因:Golang 默认不支持 UTF-8 以外的字符集 解决:将字符串的编码转换成UTF-8首先需要 mahonia 这个包go get github.com/axgle/mahonia 然后新建一个 func src 字符串 srcCode 字符串当前编码 tagCode 要转换...原创 2018-09-14 22:57:12 · 2671 阅读 · 0 评论 -
Beego脱坑(二)新建Beego项目
title:Beego脱坑(二)新建Beego项目tags: go,beegoauthor: Clown95使用new 命令通过上篇文章,我们已经知道可以使用new创建一个新项目,现在我们就来使用它创建一个hello项目bee new hellobee会自动在$GOPATH/src目录下生成hello项目,如下所示:使用run命令beego...原创 2018-08-31 10:09:41 · 8073 阅读 · 1 评论 -
Golang实现区块链(三)使用 BoltDB 实现区块链持久化
BoltDB 是一种基于键值存储的数据库,适用于 Go 语言。与关系型数据库(如 MySQL、PostgreSQL)不同,BoltDB没有表的概念,数据以键值对存储在“桶”中。小巧而简约使用 Go 语言实现无需单独部署支持我们所需的数据结构本文介绍了如何使用 BoltDB 实现区块链数据的持久化。然而,当前实现仍存在通过轮询检查数据库是否存在的缺陷,并未能自动加载先前的区块链状态。下一篇文章中,我们将继续完善这一功能,引入区块链的迭代和命令行交互接口,以实现更完善的功能。原创 2018-10-09 20:05:50 · 1740 阅读 · 0 评论 -
Beego脱坑(三)Router
title: Beego脱坑(三)Routertags: go,beegoauthor : Clown95beego中的路由的主要功能是实现从请求地址到实现方法 ,简单的说就是路由就是能够自动匹配url地址,并调用相应的控制器处理信息。在之前创建beego项目中,我们为了完成hello world的输出,在router.go 中添加了beego.Router("/hel...原创 2019-11-10 21:26:00 · 6511 阅读 · 1 评论 -
Beego脱坑(四)Controller
title: Beego脱坑(四)Controllertags: go,beegoauthor : Clown95Controller的内容比较简单,如果阅读过我前面的几篇文章,应该对Controller有了一个基础的了解。Controller作用就是Router把用户的请求分发到Controller,Controller在根据相应的方法进行处理。现在我们就来看看Controlle...原创 2018-08-31 21:00:55 · 2482 阅读 · 0 评论 -
Beego脱坑(五)使用模板获取数据
在Controller 那批文章中,我们提到过 Controller有五大部分,其中一个部分就是模板,接下来我们就来完成一个简单的表单页面,并进行交互。获取参数当用户进行注册的时候,需要提交不同的数据类型,beego 为我们提供了一些方法,它会会自动解析这些数据。GetString(key string) string //获取字符串类型GetStrings(key string) ...原创 2019-11-11 15:19:22 · 1277 阅读 · 0 评论 -
Beego脱坑(六)多种格式数据输出
title: Beego脱坑(六)多种格式数据输出tags: go,beegoauthor : Clown95在上篇文章中我们了解如何从浏览器获取到数据,这篇文章我们来简单了解下怎么把数据输出到浏览器上。直接输出我们先说下直接输出,这个我们在之前的文章中也一直用到,它就是WriteString()方法,通过它我们可以直接向http response body中输出字符串。例...原创 2018-09-01 15:21:29 · 4224 阅读 · 1 评论 -
Beego脱坑(七)获取表单数据并解析到结构体
title: Beego脱坑(七)获取表单数据并解析到结构体tags: go,beegoauthor : Clown95获取表单数据在之前的文章中我讲过使用表单获取数据,现在我们来再次回顾下,从表单中获取到用户名、密码、性别、年龄,并使用POST提到到服务器。现在来完成 register.tpl 的代码:<!DOCTYPE html><html ...原创 2018-09-01 16:40:43 · 9485 阅读 · 0 评论 -
Beego脱坑(八)表单数据验证
title: Beego脱坑(八)表单数据验证tags: go,beegoauthor : Clown95表单就是用来收集用户的一些信息,既然是用户填写那么可能会出现错误填写错误的情况,比如说手机号码多一位或者少一位啊都有可能。更严重的是存在的一些恶意用户填写非法关键字来获取网站重要数据,比如使用sql注入。为了能够避免这些情况,我们就需要使用表单数据验证。本章不仅会涉及到表单验证...原创 2018-08-31 11:01:52 · 3919 阅读 · 2 评论 -
Beego脱坑(九)Cookie和Session
title: Beego脱坑(九)Cookie和Sessiontags: go,beegoauthor: Clown95Cookie1.Http是无状态的协议,服务器不能记录浏览器的访问状态,也就是服务器不能区分两次请求是否是来自同一个客户端。2.Cookie实际上是服务器保存在浏览器上的一段信息,浏览器有了Cookie之后,每次向服务器发送请求都会带着该信息进行访问,服...原创 2018-09-01 14:41:39 · 6386 阅读 · 2 评论 -
Beego脱坑(十)——数据绑定
title: Beego脱坑(十)——数据绑定tags: go,beegoauthor : Clown95绑定普通变量我们先看下怎么绑定普通变量,下面的代码我们将通过浏览器来绑定string类型的值,至于其他单数值类型可以依次类推。控制器:package controllersimport "github.com/astaxie/beego"type BindV...原创 2018-09-02 09:29:01 · 1216 阅读 · 0 评论 -
Beego脱坑(十一)文件上传、下载
title: Beego脱坑(十一)文件上传、下载tags: go,beegoauthor : Clown95创建模板先创建一个模板:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</ti...原创 2018-09-01 19:16:11 · 3764 阅读 · 0 评论 -
Beego脱坑(十二)ORM介绍并创建第一个表
title: Beego脱坑(十二)ORM介绍并创建第一个表tags: go,beego,ormauthor : Clown95ORM介绍什么是ORM?即对象关系映射(Object Relational Mapping,简称ORM)。ORM 就是通过实例对象的语法,完成关系型数据库的操作的技术。beego ORM 是一个强大的 Go 语言 ORM 框架。她的灵感主要来自 Djang...原创 2018-09-07 09:01:42 · 8305 阅读 · 0 评论 -
Beego脱坑(十三)ORM基本增删改查
title: Beego脱坑(十三)ORM基本增删改查tags: go,beego,ormauthor : Clown95本章我们将来了解如何使用ORM进行最基础的增删改查。为了减少篇幅,我们重新创建Student表,如果你不清楚怎么创建表可以查看文章Beego脱坑(十二)ORM介绍并创建第一个表。Student具体结构如下:type Student struct { ...原创 2018-09-07 21:35:52 · 2207 阅读 · 0 评论 -
Beego脱坑(十三)附加——Tag详解
title:Beego的Tag详解tags: go,beego我们在文章 Beego的ORM操作之创建表中,对user结构图用到了一些Tag标签,现在我们就来详细的说明下。模型设置auto当 Field 类型为 int, int32, int64, uint, uint32, uint64 时,可以设置字段为自增健type Users struct { ........原创 2019-05-05 01:46:59 · 2561 阅读 · 0 评论 -
Beego脱坑(十四)ORM高级查询
title: Beego脱坑(十四)ORM高级查询tags: go,beego,ormauthor : Clown95本文将讲述beego ORM的一些高级查询,这也是ORM最核心的部分,本文所有的操作都基于下面的student表Operators在beego ORM中也有类似于SQL语句中的操作符,欲善其事,必利其器,我们先来了解他们,beego ORM目前支持的操作符为:...原创 2018-09-14 22:39:02 · 22705 阅读 · 2 评论 -
Beego脱坑(十五)ORM关系查询
title: Beego脱坑(十五)ORM关系查询tags: go,beego,ormauthor : Clown95关系查询接下来我们将讲解关系查询,关系查询分为 一对多、多对一和多对多。为了更好的演示这些关系我们先建立三个表,分别是Customer、Order和Product。package controllersimport ( "github.com/astaxie/b...原创 2019-11-25 12:28:58 · 968 阅读 · 0 评论 -
Beego脱坑(十六)原生SQL查询
title: Beego脱坑(十六)原生SQL查询tags: go,beego,ormauthor : Clown95如果你不习惯beego ORM为我们封装好的方法,beego ORM还支持原生SQL语句,你可以直接使用Sql来完成操作。Beego的ORM支持一下特性:可以使用SQL 查询,无需使用 ORM 表定义 使用多个数据的时候,可直接使用占位符号?,自动转换 查询时...原创 2018-09-14 23:08:31 · 5442 阅读 · 0 评论 -
Beego脱坑(十七)——View设计
title:Beego -Beego脱坑(十五)——View设计tags: go,beego在我们在前面介绍多种格式数据输出的时候 ,简单的介绍了下动态模板输出,我们再来回顾一下。简单演示<!-- hello.html --><!DOCTYPE html><html lang="en"><head> &...原创 2018-09-15 16:23:14 · 1209 阅读 · 0 评论 -
Beego脱坑(十八)静态文件处理
title: Beego脱坑(十八)静态文件处理tags: go,beego,ormauthor : Clown95刚接触beego的小伙伴,不知道有没有遇到这样的问题,在beego中使用的静态文件,并且路径设置的都正确,但是运行的时候,就是不能加载出来。就说我自己在刚开始使用beego的时候,想要使用layui前端框架,但是运行时layui并没有被调用,改来改出,才发现layui被我放错目录了,我没有放在static目录中,最后把layui移动到static目录中网页才正确的加载。Beego.原创 2020-10-31 23:06:58 · 14700 阅读 · 0 评论