go语言
Elonjelinek
这个作者很懒,什么都没留下…
展开
-
Golang图片库gg使用示例
Golang图片库gg使用示例示例一代码如下示例一代码如下package mainimport ( "fmt" "github.com/fogleman/gg")func main() { const S = 1024 //NewContext调整图片大小 dc := gg.NewContext(S, S) //图片颜色,有255位彩色,无255位黑白,最后一个参数用来调整颜色深度,0为白色,255位黑色 dc.SetRGBA255(255, 0, 0,30) for i :原创 2021-09-05 08:48:50 · 1506 阅读 · 0 评论 -
Request请求和Response响应
请求头Request和响应头Response都是个map,map的key为string(字符串),map的value为数组,为什么value是个数组呢,因为有些key-value(也就是键值对)可能有多个value,比如cookie,大部分网页都有cookie,而且大多数网页都有很多个cookie,而cookie就存在Request请求头和Response响应头里面,请求头和响应头里面可以存很多内...原创 2018-12-19 11:19:46 · 1677 阅读 · 0 评论 -
Go web开发判断table里元素的大小,并根据数据正负或大小设置不同样式
问题描述:比如新浪财经美股行情中心,涨跌额和涨跌幅,正数显示红色,负数显示绿色在用Go语言开发时,如何实现这样的效果?第一种方法:不使用jsGo语言内置了一些进行模板渲染的函数,在官方源码/src/text/template/funcs.go中,专门用于GoWeb模板中的数据判断或比较type FuncMap map[string]interface{}var builtins =...原创 2019-01-03 18:56:05 · 921 阅读 · 0 评论 -
beego源码
beego框架源码结构sszxr:beego sszxr$ tree.├── CONTRIBUTING.md├── LICENSE├── README.md├── admin.go├── admin_test.go├── adminui.go├── app.go├── beego.go├── cache│ ├── README.md│ ├── cache.go│...原创 2018-12-24 11:59:05 · 1221 阅读 · 0 评论 -
Go语言struct与interface及Goland使用技巧
接口interface一个struct实现了一个接口里的所有方法,叫做这个struct实现了该接口,结构体struct当一个结构体A将另一个结构体B作为其中一个字段时(仅将结构体作为字段;而不是声明一个变量,其类型为结构体B),结构体A就可以直接调用结构体B所绑定的方法,如果结构体A再绑定了一个与结构体B的某个方法声明一样的方法,那么结构体B中对应的该方法,叫做被改写,或被覆盖,此时如果结构...原创 2018-12-29 17:56:44 · 9502 阅读 · 2 评论 -
gin框架
gin简介gin是用Go语言写的后端web框架,简洁、轻量、支持高并发,官方网站:https://gin-gonic.github.io/gin/Github地址:https://github.com/gin-gonic/gin下载go get -u github.com/gin-gonic/gin源码结构如下sszxr:gin sszxr$ pwd/Users/sszxr/go...原创 2018-12-24 09:54:50 · 3544 阅读 · 0 评论 -
Go语言中的init函数
今天来了解一下Go语言中的init函数原创 2018-12-18 11:42:40 · 1755 阅读 · 0 评论 -
go语言通道
注意:通道首先要通过make函数来初始化,初始化之后才可以执行写入和读取操作。此外还分为【有缓存通道】和【无缓存通道】,make函数第二个参数大于1,表示有缓存;make函数的第二个参数的类型为整型,在使用make函数初始化通道时,缓存必须大于1。不可以是0。先看两个阻塞的例子发送操作阻塞package mainfunc main() { var ch chan struct{} /...原创 2018-12-11 20:22:13 · 1123 阅读 · 0 评论 -
Go语言interface(接口)的作用
示例代码package mainimport "fmt"type Computer interface { Calculator Play(string) string}type Calculator interface { Open(string) Calculator Say(string) string Add(uint, uint) Sum(int, int) ...原创 2018-12-29 18:28:48 · 4832 阅读 · 0 评论 -
Go语言开发-单元测试怎么写
开发环境GoLand,Go版本1.12.1Go语言,单元测试怎么写吴军老师讲过:提高程序质量水平,可以从写单元测试这种可操作的事情做起。Google为了保证工程师所写程序的质量,鼓励大家多写测试代码。凡事做记录,这样可以避免狗熊掰棒子。大部分人过分相信自己的记忆力,以为自己能记住,但实际上很快忘了。做记录的好处是,在记录过程中,又思考了一遍,进步得会更快。Google每周会进行...原创 2019-04-24 11:59:58 · 1000 阅读 · 0 评论 -
Go语言的panic类型
1、数组越界(运行时错误)。package mainimport "fmt"func main() { var s []string fmt.Println(s) fmt.Println(s[0])}运行结果:[]panic: runtime error: index out of rangegoroutine 1 [running]:main.ma原创 2019-03-06 13:05:45 · 2122 阅读 · 0 评论 -
动态规划算法详解
问题描述:有两个字符串,求最长公共子串的长度,例如"ANKNGIEK""AKGBIOK"上面这两个字符串,公共子序列为AKGIK,长度为5。最长公共子序列就是说有一个字符串在两个字符串中都出现过,这里只考虑从头到尾的顺序,也就是说AKGIK,这个字符串中的字母,在第一个字符串中出现的顺序,和在第二个字符串中出现的顺序是一样的。第一种方法,从尾到头查找假如有两个字符串,分别为ABCBD...原创 2019-01-06 12:40:04 · 656 阅读 · 0 评论 -
Go语言数据共享
Go语言共享数据的安全性Go语言保证协程间共享数据的安全性有两种方式,一种是给共享变量加锁,另一种是通过通道来共享数据。原创 2018-12-12 09:42:00 · 1071 阅读 · 0 评论 -
请求需要认证的API数据
Go语言获取需要权限认证的API数据公开API首先看一个请求json数据的例子,一个公开的API,谁都可以访问,无需权限认证,数据来源:https://api.coinmarketcap.com/v2/ticker/接下来看如何请求需要权限认证的API数据,数据来源为以下网址,https://pro-api.coinmarketcap.com/v1/cryptocurrency/li...原创 2018-12-11 09:17:06 · 2182 阅读 · 0 评论 -
Go语言官方包
Go语言官方包结构版本:1.11.4,共有701个文件夹,5663个文件,3939个go文件。1053个测试文件(_test.go),测试文件中包含138个示例文件(类似example_test.go)。sszxr:~ sszxr$ cd /usr/local/Cellar/go/1.11.4/libexec/src/sszxr:src sszxr$ tree.├── Make.dis...原创 2018-12-21 13:51:39 · 1846 阅读 · 0 评论 -
go面试题:goroutine、chan、生产者、消费者
点击个人博客,查看更多文章https://elonjelinek.github.io/主goroutine中从键盘读取一个英文字符串,并逐个将每个字符串写入到一个通道中,另外创建两个子goroutine进行读取,并打印输出结果。同时使用waitgroup保证主goroutine在子goroutine执行结束后再结束。package mainimport ( "fmt" ...原创 2018-09-16 14:35:29 · 1876 阅读 · 0 评论 -
go面试题:结构体、切片、排序
点击个人博客,查看更多文章https://elonjelinek.github.io/定义一个结构体,表示Employee类。字段有name,age,salary,创建5个Employee对象,并存入切片中,按照工资从高到低排序,并遍历输出。package mainimport ( "fmt")type Employee struct { name strin...原创 2018-09-16 14:18:44 · 1398 阅读 · 0 评论 -
go面试题:找出1到1000以内的完数
点击个人博客,查看更多文章https://elonjelinek.github.io/一个数如果恰好等于它的因子和,这个数就成为完数。 例如:6 = 1 + 2 + 3。package mainimport "fmt"func main() { n := 1000 perfectNum(n)}func perfectNum(n int) { for ...原创 2018-09-16 14:08:22 · 1059 阅读 · 0 评论 -
go面试题:输出一个数的所有质因数
点击个人博客,查看更多文章https://elonjelinek.github.io/package mainimport "fmt"func main() { n := 210 printPrime(n)}func printPrime(n int) { fmt.Print(n, ":\t") for j := 2; j <...原创 2018-09-16 13:42:19 · 2042 阅读 · 0 评论 -
go语言面试题:输入一段英文字符串,找出重复出现次数最多的字母
点击个人博客,查看更多文章https://elonjelinek.github.io/package mainimport ( "bufio" "os" "fmt" "strings")func main() { reader := bufio.NewReader(os.Stdin)原创 2018-09-16 11:43:41 · 4275 阅读 · 0 评论 -
go语言面试题:goroutine、waitgroup、mutex
点击个人博客,查看更多文章https://elonjelinek.github.io判断程序的执行结果,并解释原因package mainimport ( &amp;amp;quot;fmt&amp;amp;quot; &amp;amp;quot;sync&amp;amp;quot;)const N = 20func main() { wg := sync.Wai原创 2018-09-16 09:52:52 · 1973 阅读 · 0 评论 -
go语言:结构体与json串的互相转换
点击个人博客,查看更多文章https://elonjelinek.github.io将结构体转为json串package mainimport ( "encoding/json" "fmt")type Person struct {// 这里的两个字段名,首字母都要大写,否则无法转换 Name string `json:"name"` Age...原创 2018-09-11 11:35:39 · 3354 阅读 · 0 评论 -
golang数据类型
关于golang基本类型的几篇文章go语言类型go语言基本数据类型go语言的内置类型和内置函数以及自定义类型golang基本类型介绍转载 2018-08-11 08:54:43 · 5471 阅读 · 0 评论 -
二叉树的增删改查,深度、距离,前序、中序、后序遍历,广度优先遍历(GO语言)
二叉树package mainimport ( &amp;amp;quot;github.com/cheekybits/genny/generic&amp;amp;quot; &amp;amp;quot;sync&amp;amp;quot; &amp;amp;quot;fmt&amp;amp;quot;)type Item generic.Type//节点的结构ty原创 2018-08-10 15:29:04 · 843 阅读 · 1 评论 -
go语言字符串反转
点击个人博客,查看更多文章https://elonjelinek.github.io第一种方法:声明一个数组,将字符串中的每一个字符倒着取出来,追加到这个数组中,package mainimport ( "fmt")func main() { str := "abcde" var reslut []byte for i := len(str) - ...原创 2018-09-14 20:19:30 · 3258 阅读 · 0 评论 -
beego框架
beego官网https://beego.me/,如何安装与配置,首先查看官网提示。按照提示,在shell中下载安装beegogo get github.com/astaxie/beego安装bee工具go get -u github.com/beego/bee结果报错sszxrmc:~ sszxr$ go get -u github.com/beego/bee# github.co...原创 2018-11-09 18:16:23 · 2824 阅读 · 0 评论 -
Go语言开发:在HTML模板中引入js及其他静态文件
问题:用go语言开发,在html页面中,引入js文件无效,写在js文件中的函数无法调用,也没有报错;js代码直接写html页面中,可以调用,但是看起来太乱了,不舒服。这个问题困扰了好久,在网上搜了好多资料都无法解决问题,今天终于解决了,TND,看到答案的时候,原来这么简单。参考文章Go语言引用css和js文件go的template模板怎么才能引入css和js等静态文件?致敬原创,为上面的...原创 2018-11-15 18:47:23 · 6661 阅读 · 5 评论 -
Go语言map的并发操作
Go语言中map不是并发安全的,map不可以并发的写,但是可以并发的读。原创 2018-12-10 14:55:04 · 1717 阅读 · 0 评论 -
让shell终端和goland控制台输出彩色的文字
终端输出彩色文字在终端输出这段命令,将的到一个红色背景、绿色文字,并不停闪烁的输出。sszxr:~ sszxr$ echo -e &amp;amp;amp;quot;\033[5;32;41mI ♡ You \033[0m&amp;amp;amp;quot;I ♡ You sszxr:~ sszxr$ 双引号中的反斜杠\表示转义,033是标识符,表示用来设置颜色,[表示开始颜色设置,m为颜色设置结束。[后面的5表示闪烁,分号后面的32表示前景色,原创 2018-12-03 16:39:58 · 6815 阅读 · 4 评论 -
Go语言解析xml格式数据
开发工具:Goland。xml文件,解析与json文件解析非常相似。只是用了不同的包。比如一个xml文件,内容如下<?xml version="1.0" encoding="utf-8"?><servers version="1"> <server> <serverName>Shanghai_VPN&原创 2018-12-03 16:16:07 · 2157 阅读 · 0 评论 -
LeetCode第一题:两数之和
题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]第一种方法...原创 2019-03-11 09:45:18 · 574 阅读 · 0 评论 -
随机数去重
如何得到一组不重复的随机数生成一组随机数,并去掉重复数,赋值给一个数组在for循环生成数组,每生成一个数字,判断一下这个数字与前面的数是否相等。如果相等,则重新生成随机数func randNum(num int) []int { var arr = make([]int, 0) rand.Seed(time.Now().Unix()) for i := 0; i &lt; num;...原创 2018-12-07 18:37:44 · 2778 阅读 · 0 评论 -
go语言时间类型和时间戳
时间类型获取当地时间fmt.Println(time.Now())fmt.Println(time.Now().Local())fmt.Println(time.Now().UTC())fmt.Println(time.Now().Location())运行结果2018-11-21 11:50:39.540473 +0800 CST m=+0.0003115622018-11-2...原创 2018-11-21 15:23:19 · 22323 阅读 · 0 评论 -
go语言与正则表达式
go语言正则表达式regexp.Compile函数的用法package mainimport ( "fmt" "regexp")func main() { reg, err := regexp.Compile(`[a-z0-9#$%&amp;]+`) if err != nil { fmt.Println(err) } fmt.Println(reg.MatchS原创 2018-11-14 10:06:27 · 7224 阅读 · 1 评论 -
Go语言与html模板、js、css的引用以及表单查找
引用静态文件Go语言开发中,要在html页面中引用js、css文件,以及引用图片时,必须先做静态服务,导入静态文件路径,才能引入,否则一切js、css文件、图片都无法调用,在编译器直接运行时,是可以的,但是在启动项目时,所有js函数、css渲染无效。比如在我的项目根目录下,有一个名为static的文件夹,所有的静态文件,包括js文件,css文件,和图片都放在static文件夹下,比如这样....原创 2018-11-15 22:00:58 · 2789 阅读 · 1 评论