-
statik golang 静态资源嵌入二进制文件工具使用(docker 构建)
所属栏目:[大数据] 日期:2020-12-16 热度:144
? 将静态资源打包进二进制文件有好多方便的地方 方便客户演示 代码简单加密 运行方便 statik 就是一款在golang 中用的比较多,nodejs 有一款pkg (oclif 就推荐使用此工具) statik 安装 go get github.com/rakyll/statik 使用 statik -src= resourceurl 项[详细]
-
golang数组与切片
所属栏目:[大数据] 日期:2020-12-16 热度:77
数组的特点: 1、长度固定,无法扩容 (记住) 2、数组是值类型,也就是说在作为参数时,函数体中无法修改传入的数组的值 数组定义的方式: var a[3] int //初始值为0的长度为3的整型数组a := [3]int{1,2,3} //定义并初始化长度为3的整型数组a := [3]int{1,2[详细]
-
golang的面向对象实现
所属栏目:[大数据] 日期:2020-12-16 热度:84
GoLang的面向对象 通过golang实现面向对象的过程, 以及golang的继承关系 定义了动物, 定义了鸟类,鱼类, 最后的对象是 燕子, Nimo package mainimport "fmt"type Animal interface { Eat() Play()}type animal struct { name string}type Bird interface[详细]
-
了解golang的不定参数(... parameters),这一篇就够了
所属栏目:[大数据] 日期:2020-12-16 热度:144
在实际开发中,总有一些函数的参数个数是在编码过程中无法确定的,比如我们最常用的fmt.Printf和fmt.Println: fmt.Printf( " 一共有%v行%v列n " ,rows,cols)fmt.Println( " 共计大小: " ,size) 当你需要实现类似的接口时,就需要我们的 不定参数 出场了。[详细]
-
golang websocket
所属栏目:[大数据] 日期:2020-12-16 热度:66
项目名称:websocketa 1. server.go package mainimport ( " github.com/gin-gonic/gin " " websocketa/middleware " " websocketa/controllers " )func main() { route : = gin.Default() route.Use(middleware.WsMiddleware) route.GET( " ws " ,controlle[详细]
-
VsCode配置go环境及插件安装
所属栏目:[大数据] 日期:2020-12-16 热度:62
在vscode中安装go插件。 安装git。 在 %GOPATH%src 目录下,建立 golang.org 文件夹,并再新建x文件夹。 目录为 " %GOPATHsrcgolang.orgx " .进入目录 %GOPATHsrcgolang.orgx 下,开始下载插件包: git clone https://github.com/golang/tools.git[详细]
-
Kubernetes 服务入口管理 Traefik Ingress Controller
所属栏目:[大数据] 日期:2020-12-16 热度:187
前面部署了 kubernetes/ingress-nginx 使用 Nginx 反向代理与负载,通过 Ingress Controller 不断的跟 Kubernetes API 交互,实时获取后端 Service、Pod 等的变化,然后动态更新 Nginx 配置,并刷新使配置生效。而 Traefik 本身设计的就能够实时跟 Kubernete[详细]
-
Golang 简单爬虫实现,爬取小说
所属栏目:[大数据] 日期:2020-12-16 热度:73
为什么要使用Go写爬虫呢? 对于我而言,这仅仅是练习Golang的一种方式。 所以,我没有使用爬虫框架,虽然其很高效。 为什么我要写这篇文章? 将我在写爬虫时找到资料做一个总结,希望对于想使用Golang写爬虫的你能有一些帮助。 爬虫主要需要解决两个问题:[详细]
-
golang基础练习(一)
所属栏目:[大数据] 日期:2020-12-16 热度:71
//遍历map package main import "fmt" func main() { x := make(map[string]int) x["zhangsan"] = 3 x["lisi"] = 4 x["wangwu"] = 5 //#丢弃值 for i,_ := range x { fmt.Println(i) } } //匿名函数 package main import "fmt" func main() { f := func(x,y[详细]
-
golang查看channel缓冲区的长度
所属栏目:[大数据] 日期:2020-12-16 热度:106
golang提供内建函数cap用于查看channel缓冲区长度。 cap的定义如下: func cap(v Type) int The cap built-in function returns the capacity of v,according to its type: - Array: the number of elements in v (same as len(v)).等同于len- Pointer to ar[详细]
-
go结构体方法
所属栏目:[大数据] 日期:2020-12-16 热度:139
Golang中的方法是作用在特定类型的变量上,因此自定义类型,都可以有方法,而不仅仅是struct。 结构体是用户单独定义的类型,不能和其他类型进行强制转换 ? 定义格式 ? func (var *Struct_Name) FuncName( var0,var1... ) return type {} ? package mainimpo[详细]
-
golang interface判断为空nil
所属栏目:[大数据] 日期:2020-12-16 热度:139
要判断interface 空的问题,首先看下其底层实现。 interface 底层结构 根据 interface 是否包含有 method,底层实现上用两种 struct 来表示:iface 和 eface。eface表示不含 method 的 interface 结构,或者叫 empty interface。对于 Golang 中的大部分数据[详细]
-
Golang 解析Yaml格式
所属栏目:[大数据] 日期:2020-12-16 热度:167
Golang官方并没有提供Yaml解析包,所以需要使用第三方包。可用的第三方包有不少,这里选择的是 gopkg.in/yaml.v2 ,这个包在github上有不少的star,也的确挺好用。其使用的是Apache License。 这个包提供的函数还是很少了,这真是一件好事(〃?〃) 如果你不了[详细]
-
golang 反汇编代码阅读-- defer
所属栏目:[大数据] 日期:2020-12-16 热度:126
先看源码 package main//!+ffunc main() {f1()f2()f3()}func f1() (result int) {defer func() {result++}()return 0}func f2() (r int) {t := 5defer func() {t = t + 5}()return t}func f3() (r int) {defer func(r int) {r = r + 5}(r)return 1} ?再看反[详细]
-
使用golang求出A-Z的所有子集
所属栏目:[大数据] 日期:2020-12-16 热度:65
参考链接:https://blog.csdn.net/K346K346/article/details/80436430 有一个集合由A-Z这26个字母组成,打印这个集合的所有子集,每个子集一行,写C代码实现,不能使用递归 假设只有三个字母ABC,那么子集有: {}ABCABACBCABC 把ABC看作三个比特位,分别为:[详细]
-
golang的slice了解及验证
所属栏目:[大数据] 日期:2020-12-16 热度:53
golang 中slice的操作 golang收获 如果只是分配了 var st []SelfType,进行赋值,那么就会是吧,除非使用 make 分配一个内存空间 注意, slice在make的时候可以制定 len,cap长度, len,cap的区别在于: len是当前slice中的element的长度, cap是slice的长度[详细]
-
Golang从文件服务器获取图片显示到客户端
所属栏目:[大数据] 日期:2020-12-16 热度:79
一、需求 ? ? ? ?A(客户端)---------------》B(服务端)--------------》C(文件服务器) ? ? ? ?在客户端需要显示图片列表,但是不想C(文件服务器)的地址被暴露出来,所以现在是A(客户端)发送URL到B(服务器),B(服务器)去请求C(文件服务器)的[详细]
-
golang 使用 gomail 发送邮件
所属栏目:[大数据] 日期:2020-12-16 热度:87
下面以阿里云邮箱为例, 如果使用的是qq邮箱的话需要把mailConn里面的host改成‘smpt.qq.com‘,user 填写qq邮箱地址, pass需要填写你在qq邮箱设置里面获取到的授权码,qq邮箱需要先去邮箱设置里面开通smtp支持,然后获取授权码。然后就可以用qq邮箱发送了。[详细]
-
Golang, MySQL连接不设置时区的问题
所属栏目:[大数据] 日期:2020-12-16 热度:150
package main import ( "fmt" "github.com/go-xorm/xorm" _ "github.com/jinzhu/gorm/dialects/mysql" "time" ) func main(){ engine,err := xorm.NewEngine("mysql","root:[email?protected]/db_name?charset=utf8loc=Local") if err!=nil{ fmt.Println(err[详细]
-
反转链表的golang实现
所属栏目:[大数据] 日期:2020-12-16 热度:115
问题:反转一个单链表。 输入: 1 - 2 - 3 - 4 - 5 - NULL输出: 5 - 4 - 3 - 2 - 1 -NULL 首先先认识一下链表这个数据结构: 链表节点中有两个元素: 值 指针 type ListNode struct { Val int Next * ListNode} Next指向下一个节点 那么这道题其实就是把指针[详细]
-
记一次坑爹的golang 二维map判断问题
所属栏目:[大数据] 日期:2020-12-16 热度:176
记一次坑爹的golang 二维map判断问题 2018年10月18日 23:16:21?yinnnnnnn? 阅读数:32 更多 个人分类:?golang ? 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35440678/article/details/83154780 现象 var PeopleLimit[详细]
-
golang实现已知三角形三点坐标,求三角形面积
所属栏目:[大数据] 日期:2020-12-16 热度:144
代码如下: func GetTriangleAreaByVector(x vector.Vector3,y vector.Vector3,z vector.Vector3) float64 { // 根据三角形三个点坐标求面积 // 先算三角形三个边的长度 a := vector.GetDistance(x,y) b : = vector.GetDistance(x,z) c : = vector.GetDistan[详细]
-
openstack golang sdk使用
所属栏目:[大数据] 日期:2020-12-16 热度:73
1. go get github.com/gophercloud/gophercloud import ("github.com/gophercloud/gophercloud""github.com/gophercloud/gophercloud/openstack""fmt""crypto/rand""github.com/gophercloud/gophercloud/pagination""golang.org/x/crypto/ssh""time""net""gi[详细]
-
golang zap包使用
所属栏目:[大数据] 日期:2020-12-16 热度:195
zap是Uber开源的高性能log包。 1 package main 2 3 import ( 4 " encoding/json " 5 " fmt " 6 7 " github.com/natefinch/lumberjack " 8 " go.uber.org/zap " 9 " go.uber.org/zap/zapcore " 10 ) 11 12 // logpath 日志文件路径 13 // loglevel 日志级别 1[详细]
-
golang gin 中间件,返回结果
所属栏目:[大数据] 日期:2020-12-16 热度:95
package mainimport ( "net/http" "github.com/gin-gonic/gin")func response() gin.HandlerFunc { return func(c *gin.Context) { c.Next() if c.Writer.Written() { return } params := c.Keys if len(params) == 0 { return } c.JSON(http.StatusOK,param[详细]
