-
Golang编写简单图片服务器
所属栏目:[大数据] 日期:2020-12-16 热度:177
Golang编写简单图片服务器 图片服务器 最近的开发过程中,遇到一个问题,就是大量零碎图片的存储,最后我决定研究一个简单的图像服务器,以解决图像文件存储的性能问题。在此,写一篇博文记录我经历的思想过程和遇到的坑。 我们知道Linux存储文件不建议将大[详细]
-
golang reflect
所属栏目:[大数据] 日期:2020-12-16 热度:150
reflect包实现了运行时反射,允许程序操作任意类型的对象。典型用法是用静态类型interface{}保存一个值,通过调用TypeOf获取其动态类型信息,该函数返回一个Type类型值。调用ValueOf函数返回一个Value类型值,该值代表运行时的数据。Zero接受一个Type类型参[详细]
-
golang json 格式文件解析
所属栏目:[大数据] 日期:2020-12-16 热度:154
packagemainimport("bytes""encoding/json""fmt""log""os""regexp""time")constconfigFileSizeLimit=1020vardefaultConfig=struct{netTimeoutint64fileDeadtimestring}{netTimeout:15,fileDeadtime:"24h",}//有了`json:network`这种注释,后面json解析就可以[详细]
-
golang html/template
所属栏目:[大数据] 日期:2020-12-16 热度:114
template包(html/template)实现了数据驱动的模板,用于生成可对抗代码注入的安全HTML输出。本包提供了和text/template包相同的接口,无论何时当输出是HTML的时候都应使用本包。 main.go package mainimport ("html/template""io/ioutil""os""time""fmt")fu[详细]
-
golang 获取exe、dll、apk 版本号
所属栏目:[大数据] 日期:2020-12-16 热度:156
//golang实现读取exedllapk版本号packagemainimport("flag""fmt""log""os""path/filepath")import("github.com/lunny/axmlParser")var(filefileInfo)const(MZ="MZ"PE="PE"RSRC=".rsrc"TYPET=16PEOFFSET=64MACHINE=332DEFAULT=`C:WindowsSystem32cmd.exe`)[详细]
-
Golang vim开发环境设置
所属栏目:[大数据] 日期:2020-12-16 热度:115
1 简介 上一篇博客我们介绍了Golang的安装、编译、运行,本篇博客我们介绍如何设置面向Golang的vim开发环境。原生的vim无法自行识别golang关键字,开发环境如同编辑普通文本文件,无法高亮显示,更不要说自动补全等功能。为此,我们需要在vim中加入面向golan[详细]
-
golang 测试文件xxx_test
所属栏目:[大数据] 日期:2020-12-16 热度:122
go 的版本:go version go1.4.2 windows/386 举例:如果golang的包在同一目录下,比如GOPATH下面src/test/ 目录下有包名package test 如果此时有 test.go 和 test_test.go,那么包导入的时候会自动忽略test_test.go的导入内容 总之,1、如果有多个.go文件时[详细]
-
golang 动态生成表头及数据
所属栏目:[大数据] 日期:2020-12-16 热度:69
golang的struct不支持界面展示的嵌套循环,所以采用map数据结构来存储数据。直接看代码和效果。 用的beego框架 服务端代码: ` func(this*TableController)Get(){this.Data["Thead"]=[]string{"#","名称","年龄"}//表头数据结构this.Data["Tbody"]=[]string{[详细]
-
Golang学习笔记:语言规范之词汇元素和类型
所属栏目:[大数据] 日期:2020-12-16 热度:131
引言 Golang参考手册,更多内容请参考http://golang.org 语言规范参考自https://golang.org/ref/spec 词汇元素 注释 行注释: // comment content 段注释: /* comment content */ 符号 符号有4类:标识符、关键字、操作符和分隔符、字面常量 分号 golang中,[详细]
-
golang json解析之大小写
所属栏目:[大数据] 日期:2020-12-16 热度:118
packagemainimport("encoding/json""fmt"_"time")typeHeaderstruct{FileNamestringHoststringOffsetstringTimestampstring}typeJsonDatastruct{headerstring`json:"xx"`Bodystring`json:"body"`}funcmain(){testJson()}functestJson(){varDataJsonData/*time[详细]
-
【GOLANG】http请求代码
所属栏目:[大数据] 日期:2020-12-16 热度:90
一. http请求,设置超时 func Request(method,baseUrl,path string,body io.Reader) ([]byte,int,error) {client := http.Client{Transport: http.Transport{Dial: func(netw,addr string) (net.Conn,error) {deadline := time.Now().Add(25 * time.Second)c[详细]
-
Go语言快速入门
所属栏目:[大数据] 日期:2020-12-16 热度:114
一年前为了给同事介绍Go而做的演讲文稿。一年过去,我对Go的理解没有任何进展。 最近决定深入地学习这门语言。 Hello World package mainimport "fmt"// this is a commentfunc main() { fmt.Println("Hello World")} Build Run $ cd D:Gosrcgithub.coms[详细]
-
go map用法
所属栏目:[大数据] 日期:2020-12-16 热度:150
本篇章节讲解GO语言映射(Map)用法。供大家参考研究。具体如下: 映射是一种内置的数据结构,用来保存键值对的无序集合。 (1)映射的创建 make ( map [KeyType] ValueType,initialCapacity ) make ( map [KeyType] ValueType ) map [KeyType ] Val[详细]
-
golang读取json配置文件
所属栏目:[大数据] 日期:2020-12-16 热度:131
test_json.go: package main import ( io "io/ioutil" json "encoding/json" "fmt" ) type JsonStruct struct{ } func NewJsonStruct () *JsonStruct { return JsonStruct{} } func (self *JsonStruct) Load (filename string,v interface{}) { data,err :=[详细]
-
go学习笔记
所属栏目:[大数据] 日期:2020-12-16 热度:174
本博客知识记录自己学习中的笔记或者记录,如果有错误欢迎大家纠正。 学习golang 想用来做游戏服务端语言,从头开始,go!go!go! go程序是通过package来组织包 ,有且仅有一个main包里面有一个main函数, // package在非注释第一行,不然编译不过。 packag[详细]
-
golang 项目多文件编程示例
所属栏目:[大数据] 日期:2020-12-16 热度:76
src/test_interface.git/main.go packagemainimport(task"test_interface.git/task")funcmain(){do:=task.NewInter(task.NewTask())do.OnInit()} src/test_interface.git/task/print.go packagetaskimport("fmt")typeStvestruct{}funcNewTask()Inter{returnS[详细]
-
golang 锁的使用
所属栏目:[大数据] 日期:2020-12-16 热度:138
sync.mutex 加锁后禁止其他地方读或写,这个适用于可能出现的在不同go程中修改同一个数据 sync.rwmutex 的lock 和 unlock 的使用和sync.mutex类似 sync.rwmutex 的rlock和runlock的使用适用于要读取数据,防止在读取的同时可能出现的别的地方写入 而导致的读[详细]
-
Golang闭包
所属栏目:[大数据] 日期:2020-12-16 热度:131
1 形式含义 所谓闭包就是一个函数“捕获”了和它在同一作用于的其他常量和变量。 从形式上看,在Golang中,所有的匿名函数都是闭包。闭包的创建方式和普通函数几乎一致,只有一个关键区别:闭包没有名字。 我们来看两个例子 addPng:=func(namestring)string{[详细]
-
Golang泛型函数
所属栏目:[大数据] 日期:2020-12-16 热度:156
目前,golang还不支持模板函数(类型参数化),所以看上去不得不为每一种类型都实现一个函数。但是Golang可以利用空接口interface{}和闭包/高阶函数来实现泛型函数。 1 空接口 空接口interface{}是指方法集为空的接口,任何类型的值都可以赋值给空接口。接口[详细]
-
Golang的嵌入和继承
所属栏目:[大数据] 日期:2020-12-16 热度:72
golang不支持继承,只支持嵌入和聚合(匿名字段称为嵌入,具名字段称为聚合)。golang通过嵌入,可以到达类似继承的效果,而且更为简洁。 一个例子 typeBasestruct{bint}func(base*Base)setB(iint){base.b=base.b+i}typeDerivestruct{Base//embeddint//aggre[详细]
-
Golang中的接口与鸭子类型
所属栏目:[大数据] 日期:2020-12-16 热度:54
1 接口的定义与理解 接口是一个自定义类型,它是一组方法的集合。从定义上来看,接口有两个特点。第一,接口本质是一种自定义类型,因此不要将golang中的接口简单理解为C++/Java中的接口,后者仅用于声明方法签名。第二,接口是一种特殊的自定义类型,其中没[详细]
-
[UMU 学 golang](5) HTTP Echo Server
所属栏目:[大数据] 日期:2020-12-16 热度:117
做加速时经常需要用到 HTTP Echo Server 来测试加速有没有成功,如果成功了,是显示请求来自加速代理服务器。原来用 node.js 写了一个,代码如下: var http = require('http');http.createServer( function (req,res) { res.writeHead(200,{'Content-Type':[详细]
-
【GOLANG】goroutine原理
所属栏目:[大数据] 日期:2020-12-16 热度:153
一. 同步并发的原理:进程或线程,系统调度 异步并发的原理:DMA,不经过CPU直接把IO COPY到MEMORY 二. 同步并发的原理:进程或线程,系统调度 异步并发的原理:DMA,不经过CPU直接把IO COPY到MEMORY[详细]
-
Golang学习笔记:语言规范之类型(续)
所属栏目:[大数据] 日期:2020-12-16 热度:57
类型(续) 指针类型 指针类型表示所有给定类型的指针变量,也称为基础类型的指针,默认未初始化的指针类型值为 nil 。 PointerType = "*" BaseType .BaseType = Type .*Point* [4 ] int 函数类型 函数类型表示拥有相同参数和返回值类型的函数,未初始化的函[详细]
-
Golang学习笔记:语言规范之声明与作用域
所属栏目:[大数据] 日期:2020-12-16 热度:175
类型声明包括:常量、自定义类型、变量、函数、标签、还有包声明。 程序中的标识符都必须声明。块、包、文件中的标识符不能重复。 Declaration = ConstDecl | TypeDecl | VarDecl . TopLevelDecl = Declaration | FunctionDecl | MethodDecl . 标签作用域 标[详细]
