-
golang 去除html标签
所属栏目:[大数据] 日期:2020-12-16 热度:171
func trimHtml(src string) string { //将HTML标签全转换成小写 re,_ := regexp.Compile("[Ss]+?") src = re.ReplaceAllStringFunc(src,strings.ToLower) //去除STYLE re,_ = regexp.Compile("style[Ss]+?/style") src = re.ReplaceAllStr[详细]
-
golang 函数四 (错误处理)
所属栏目:[大数据] 日期:2020-12-16 热度:127
为了方便实现自定义错误类型,Go语言标准库中将error定义为接口类型。比如: typeerrorinterface{Error()string} 按照Go语言编程习惯,error总是最后一个函数返回值,并且标准库提供了创建函数,可以方便的创建错误消息的error对象。比如: funcdivTest(x,yi[详细]
-
Golang 部分标准库说明
所属栏目:[大数据] 日期:2020-12-16 热度:66
更多文章,请大家移步到新的博客:blog.haoitsoft.com,谢谢大家一直以来的支持!!! archive/tar 和 /zip-compress :压缩(解压缩)文件功能。 fmt - io - bufio - path/filepath - flag : fmt : 提供了格式化输入输出功能。 io : 提供了基本输入输出功能,[详细]
-
Go 1.8rc3 源代码学习:token
所属栏目:[大数据] 日期:2020-12-16 热度:135
前言 token package 包含了 golang 词法分析相关的数据结构和方法,源代码位于 go-src/src/go/token token.go 源代码中的注释很赞! Token type Token is the set of lexical tokens of the Go programming language type Token int tokens The list of toke[详细]
-
Go 1.8rc3 源代码学习:scanner
所属栏目:[大数据] 日期:2020-12-16 热度:134
前言 scanner package 包含了 golang 词法分析器相关的数据结构和方法,源代码位于 go-src/src/go/scanner example_test.go example_test.go 包含了一个使用 scanner 包的示例方法,该方法对 Euler 公式进行词法扫描 func ExampleScanner_Scan() { // src is[详细]
-
Go 1.8rc3 源代码学习:parser
所属栏目:[大数据] 日期:2020-12-16 热度:146
前言 parser package 包含了 golang 语法分析相关的数据结构和方法,源代码位于 go-src/src/go/parser 之前大概看了点 PHP 和 Ruby 的源代码,感叹 go 确实如宣传的一样,简洁如 C,parser.go 代码总共 几千行(Ruby 语法规则定义文件有 1w 多行),使用递归[详细]
-
golang 方法
所属栏目:[大数据] 日期:2020-12-16 热度:153
golang语言中的方法是与对象实例绑定的特殊函数,用于维护和展示对象的自身状态。 与函数的区别是方法有前置实例接收参数(receiver),编译器根据receiver来判断该方法属于哪个实例。receiver可以是基础类型,也可以是指针类型,这会关系到是否需要有可以修改[详细]
-
Golang连接SQLite、MySQL、Oracle数据库
所属栏目:[大数据] 日期:2020-12-16 热度:113
本文目录 1.Go连接SQLite 1_1.SQLite推荐驱动 1_2.SQLite连接示例代码 2.Go连接MySQL 2_1.MySQL推荐驱动 2_2.MySQL连接示例代码 3.Go连接Oracle 3_1.Oracle推荐驱动以及准备事项 3_2.Oracle连接示例代码 说明:go语言连接数据库不像Java那么方便,本文分别介[详细]
-
Go 1.8rc3 源代码学习:cmd go
所属栏目:[大数据] 日期:2020-12-16 热度:121
前言 命令行工具 go 相关的代码在 go-src/src/cmd/go,目录结构 go-src/src/cmd/go internal testdata alldocs.go go11.go go_test.go go_unix_test.go go_windows_test.go main.go mkalldocs.sh note_test.sh note_test.go vendor_test.go main.go,入口函[详细]
-
golang 获取当前日期,月份第一天和最后一天
所属栏目:[大数据] 日期:2020-12-16 热度:89
now := time.Now() currentYear,currentMonth,_ := now.Date() currentLocation := now.Location() firstOfMonth := time.Date(currentYear,1,currentLocation) lastOfMonth := firstOfMonth.AddDate(0,-1) fmt.Println(firstOfMonth.Unix()) fmt.Println(la[详细]
-
golang在编译时用ldflags设置变量的值
所属栏目:[大数据] 日期:2020-12-16 热度:164
转载请注明出处,原文链接http://tailnode.tk/2017/01/go... 我们经常会在一些程序的输出中看到程序版本、编译时间、Git的commit id等信息,比如docker ming@vultr:~$ docker versionClient: Version: 1.12.5 API version: 1.24 Go version: go1.6.4 Git com[详细]
-
时间的故事 续篇
所属栏目:[大数据] 日期:2020-12-16 热度:60
#关于时间,你真的都懂吗? 《续篇》 上一篇,开篇介绍了关于时间标准的定义,假如你能看到这里来,说明你是个渴望学知识的青年,至少还是能耐得住性子来学习的,这一篇将将分两个小节来介绍java编程语言和golang语言在处理时间具体问题上面是怎么处理的,为[详细]
-
时间的故事 尾篇
所属栏目:[大数据] 日期:2020-12-16 热度:96
#关于时间,你真的都懂吗? 《尾篇》 最后的一篇我构想了很久,内容多了,就怕讲的太宽泛了,所以避免跑题,简单点,讲故事吧,故事最吸引人啦,当然还是提示下,尾篇主题和具体技术也不太相关,不感兴趣直接跳过吧。 2016年是笔者作为从业者的第七个年头,[详细]
-
golang实时消息平台NSQ的使用
所属栏目:[大数据] 日期:2020-12-16 热度:103
NSQ是什么 (本文作者 changjixiong,以下是正文) NSQ是一个实时消息平台,引用一段InfoQ上的介绍: “NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub。NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别[详细]
-
golang for switch break 使用
所属栏目:[大数据] 日期:2020-12-16 热度:188
不加入标签,只能break swtich package mainfunc main() {i := 10for {i--switch i {case 1:break }if i == -10 {break}println(i)}} 加入标签才能break 外面的循环 package mainfunc main() {i := 10OuterLoop:for {i--switch i {case 1:break OuterLoop}if[详细]
-
Glide命令,如何使用glide,glide.lock
所属栏目:[大数据] 日期:2020-12-16 热度:117
Desc:10分钟了解glide相关命令,做好包管理准备 以下是Glide命令,其中大部分命令是帮助您管理工作区。 glide create (别名 init) 初始化新工作区。除此之外,这会创建一个 glide.yaml 文件,同时试图猜测包和版本。例如,如果你的项目使用Godep,它将使用指[详细]
-
Golang包管理工具Glide,你值得拥有
所属栏目:[大数据] 日期:2020-12-16 热度:132
“依赖地狱”是每个程序员在成长之路上都会面临的情况,首先我们通过语义化版本来控制软件的版本,然后在我们的项目里通过指定 软件版本 来达到控制依赖的目的。 如:你的项目A依赖多个项目B1,B2,B3,而B1,B2,B3又依赖着其它项目C1,C2...。一个项目依赖[详细]
-
Golang基于websocket实时通信的实现—GoEasy
所属栏目:[大数据] 日期:2020-12-16 热度:62
Golang websocket实时消息推送 在这里我记录一下之前如何实现服务器端与客户端实时通信: 实现步骤如下: 1.获取GoEasy appkey. 在goeasy官网上注册一个账号,并新建一个app. APP创建好后系统会为该app自动生成两个key,一个既可以用来接收又可以用来推送 (su[详细]
-
golang gzip解压
所属栏目:[大数据] 日期:2020-12-16 热度:119
import ( "bytes" "compress/gzip" "encoding/binary" "io/ioutil" ) func ParseGzip(data []byte) ([]byte,error) { b := new(bytes.Buffer) binary.Write(b,binary.LittleEndian,data) r,err := gzip.NewReader(b) if err != nil { logger.Info("[ParseGzi[详细]
-
用golang写的一个链表
所属栏目:[大数据] 日期:2020-12-16 热度:148
近期专门研究了一下golang语言,这个语言还比较新,语法上结合了很多优点,比如动态绑定,多返回值,支持函数对象,如果有C/C++,java,js或python语言基础的朋友应该能很快能迁移到这个新语言上来,goroutine机制帮助我们能更好的写并发程序,总之,golang[详细]
-
go语言学习之----读取配置文件的方式toml
所属栏目:[大数据] 日期:2020-12-16 热度:142
最近go语言项目中用到读取配置文件,如下: 使用这个"github.com/BurntSushi/toml" 配置文件如下:conf.toml # idID = 1# nameName = "name1"# weightWeight = 1.7# booksBooks = ["a","b","c"]Sex = true#friend Friend都可以[friend]Age = 32Name = "xio"[详细]
-
Go语言圣经:Goroutines、Channels及基于共享变量的并发
所属栏目:[大数据] 日期:2020-12-16 热度:197
Go语言中的并发程序可以用两种手段来实现。这一章会讲解goroutine和channel,其支持“顺序进程通信”(communicating sequential processes)或被简称为CSP。CSP是一个现代的并发编程模型,在这种编程模型中值会在不同的运行实例(goroutine)中传递,尽管大多数[详细]
-
golang的import导入
所属栏目:[大数据] 日期:2020-12-16 热度:124
在go里,import是很常用的一个命令,import用来导入包。然后我们就可以使用这个包的函数。fmt是go里的标准库,我们以fmt包举一个例子,文件名为main.go如下: import “fmt”func main(){fmt.Println(“hello world!”)} 上边的代码首先去GOROOT目录下加载fm[详细]
-
Golang标准库探秘(一):sync 标准库
所属栏目:[大数据] 日期:2020-12-16 热度:155
在高并发或者海量数据的生产环境中,我们会遇到很多问题,GC(garbage collection,中文译成垃圾回收)就是其中之一。说起优化GC我们首先想到的肯定是让对象可重用,这就需要一个对象池来存储待回收对象,等待下次重用,从而减少对象产生数量。 标准库原生的[详细]
-
Go 之旅一: 包、变量和函数
所属栏目:[大数据] 日期:2020-12-16 热度:123
原文链接 http://ironxu.com/687 学习 A Tour of Go (中文参考 Go 之旅中文 ) 整理的笔记。介绍包、变量和函数的基本概念和使用。 包、变量和函数 1. package $GOPATH/src/go_note/gotour/basics/package/package.go 源码如下: /** * packages 的相关概念 */[详细]
