-
golang解析数字证书
所属栏目:[大数据] 日期:2020-12-16 热度:143
golang解析数字证书 基础知识 在解析数字证书之前我们要学习一下数字证书的知识,明白一下数字证书中的一些概念。 下面这些知识是你所要了解的,PKCS#8、 PKCS#1、Certificate Chan、Openssl 将PKCS#1和PKCS#8进行转换 等等,基础我就不多聊了下面给几篇文章[详细]
-
用golang编写一个并发工作队列
所属栏目:[大数据] 日期:2020-12-16 热度:128
其实golang用一个函数可以构建一个并发队列,看我之前的blog但那个功能还不够强大,现在编写一个灵活可控的队列程序 先定义一个工作 type Worker struct { ID int RepJobs chan int64 SM * SM quit chan bool } 包含了workid和执行任务的id,上面的SM只是任[详细]
-
Go(Golang)中的init()函数是什么时候运行?
所属栏目:[大数据] 日期:2020-12-16 热度:185
我试图找到一个精确的解释什么init()函数在Go(Golang)。我读了什么 Effective Go说,但我不确定如果我完全理解它说什么。我不确定的确切句子如下: And finally means finally: init is called after all the variable declarations in the package have eva[详细]
-
golang日記 - crypto/bcrypt
所属栏目:[大数据] 日期:2020-12-16 热度:103
Web Development w/ Google’s Go (golang) Programming language 的067-Encrypt-Password-With-Bcrypt https://www.udemy.com/go-programming-language/learn/v4/content 在上这节课的时候,很好奇为什么密码要加密,就上网搜了下,搜到这篇文章 为什么要在密[详细]
-
Golang unsafe的妙用
所属栏目:[大数据] 日期:2020-12-16 热度:108
unsafe.Pointer其实就是类似C的void *,在golang中是用于各种指针相互转换的桥梁。uintptr是golang的内置类型,是能存储指针的整型,uintptr的底层类型是int,它和unsafe.Pointer可相互转换。uintptr和unsafe.Pointer的区别就是:unsafe.Pointer只是单纯的通[详细]
-
golang日記 - web上传文件
所属栏目:[大数据] 日期:2020-12-16 热度:88
代码来源: https://www.udemy.com/go-programming-language/learn/v4/content 课程的教程代码. 步骤如下: 1. request获取文件名与文件 2. 文件名=(sha1)=新的文件名 (sha1的详细过程 : 读取原文件内容,生成sha1码) 3. 创建文件,(↓)复制文件内容 (因为sha1过[详细]
-
golang导包
所属栏目:[大数据] 日期:2020-12-16 热度:90
被坑的体无完肤,特此纪念, 不是新手不要看 包结构如图 接下来我们要在main.Go中调用myprint2.go中的方法 myprint2.go [plain] view plain copy print ? packagetest import"fmt" funcMyPrint2(){ fmt.Println("这条信息来自myprint2") } myprint.go copy fu[详细]
-
Golang1.8编译静态库给C使用
所属栏目:[大数据] 日期:2020-12-16 热度:163
Go实例代码: package main import ( "fmt" ) import "C" //export Printf func Printf(format,str string ) { fmt.Printf(format,str)} func main(){} 编译命令: go build -ldflags “-s -w” -buildmode=c-archive -o printf.a main.go 生成:printf.a prin[详细]
-
Golang的switch和select用法
所属栏目:[大数据] 日期:2020-12-16 热度:137
一、switch语句 switch语句提供了一个多分支条件执行的方法。每一个case可以携带一个表达式或一个类型说明符。前者又可被简称为case表达式。因此,Go语言的switch语句又分为表达式switch语句和类型switch语句。 1、表达式switch语句 var name string...switc[详细]
-
1、Go的变量声明
所属栏目:[大数据] 日期:2020-12-16 热度:118
Go的语言结构 1、Go的语言基础部分由这几个部分组成 包声明 引入包 函数 变量 语句表达式 注释 比如下面这个简单的代码: func main() { fmt.Println("第一个程序")} 需要注意的是,如果想把单独的.go文件作为独立的可执行文件的时候。需要在代码的第一行加[详细]
-
聊聊Golang中的range关键字
所属栏目:[大数据] 日期:2020-12-16 热度:56
聊聊Golang中的range关键字 [TOC] 首先让我们来看两段代码 下面的程序是否可以正常结束? func main() {v := []int{1,2,3}for i := range v {v = append(v,i)}} 下面的程序分别输出什么? func IndexArray() {a := [...]int{1,3,4,5,6,7,8}for i := range a[详细]
-
GOLANG项目:文本排序程序
所属栏目:[大数据] 日期:2020-12-16 热度:162
项目需求: 1、可以对文本文件进行排序,将排序结果另存为另一个文件 2、这里的文本文件中的每一行存放一个整形数 3、支持冒泡排序和插入排序 项目环境: 1、go version go1.7.5 windows/amd64 2、开发环境:LiteIDE 1、项目目录结构 E:projectgosortertr[详细]
-
golang - 收藏集 - 掘金
所属栏目:[大数据] 日期:2020-12-16 热度:138
Ponzu - 基于 Go 语言的开源 CMS - 后端 - 掘金 Ponzu is a powerful and efficient open-source HTTP server framework and CMS. It provides automatic,free,and secure HTTP/2 over T... 一日一学_Go 语言 mgo(mongo 场景应用) - 后端 - 掘金 本文重点[详细]
-
golang实现worker
所属栏目:[大数据] 日期:2020-12-16 热度:80
注意:以上代码摘抄至@harbor https://github.com/vmware/harbor /* Copyright (c) 2016 VMware,Inc. All Rights Reserved. Licensed under the Apache License,Version 2.0 (the "License"); you may not use this file except in compliance with the Licen[详细]
-
golang select结构经典应用
所属栏目:[大数据] 日期:2020-12-16 热度:112
###应用场景 前几天领导交给我一项任务,让我监控某项服务是否启动成功,当时我想就没想就接下了,回来之后考虑了N多种方案。大致分为2类 ###一、主动 就是把自身信息主动推上去,如服务启动后把自身信息注册到zookeeper,这样调用zookeeper的api就可以看到[详细]
-
golang trace工具使用
所属栏目:[大数据] 日期:2020-12-16 热度:137
1)增加如下代码 //导入包import ( "net/http" _ "net/http/pprof")//增加如下代码go func() { fmt.Println(http.ListenAndServe(":5567",nil))}() 2)执行curl 127.0.0.1:5567/debug/pprof/trace?seconds=10 trace.data,获取到trace.data数据 3) 执行 go to[详细]
-
golang中sync.RWMutex和sync.Mutex
所属栏目:[大数据] 日期:2020-12-16 热度:77
golang中sync.RWMutex和sync.Mutex区别 转自:http://blog.csdn.net/chenbaoke/article/details/41957725 golang中sync包实现了两种锁Mutex (互斥锁)和RWMutex(读写锁),其中RWMutex是基于Mutex实现的,只读锁的实现使用类似引用计数器的功能. type Mut[详细]
-
Go Tracing Roadmap
所属栏目:[大数据] 日期:2020-12-16 热度:165
Go Tracing Roadmap golang 分布式追踪的路演,今后可能直接从语言层面支持这些特性,golang真是太棒了,原始文档在 google doc 上,可能有些同学网络不太方面,所以转一份在这里。 Jaana B. Dogan (jbd@golang.org),May 15,2017 This document summarizes the[详细]
-
Golang协程调度
所属栏目:[大数据] 日期:2020-12-16 热度:55
有时候可能会出现这种情况,一个无耻的goroutine阻止其他goroutine运行。当你有一个不让调度器运行的 for循环时,这就会发生。 package mainimport "fmt"func main() { done := false go func(){ done = true }() for !done { } fmt.Println("done!")} for循[详细]
-
在Golang中设置HTTP标头
所属栏目:[大数据] 日期:2020-12-16 热度:140
我试图在我的Go Web服务器中设置标头。我使用gorilla / mux和net / http包。 我想设置Access-Control-Allow-Origin:*允许跨域AJAX。 这里是我的Go代码: func saveHandler(w http.ResponseWriter,r *http.Request) {// do some stuff with the request data[详细]
-
Golang中WaitGroup、Context、goroutine定时器及超时学习笔记
所属栏目:[大数据] 日期:2020-12-16 热度:187
原文连接:http://targetliu.com/2017/5/2... 好久没有发过文章了 - -||,今天发一篇 golang 中 goroutine 相关的学习笔记吧,以示例为主。 WaitGroup WaitGroup 在 sync 包中,用于阻塞主线程执行直到添加的 goroutine 全部执行完毕。 Context Context 是在[详细]
-
GOLANG项目:基于命令行的音乐播放器
所属栏目:[大数据] 日期:2020-12-16 热度:153
项目需求: 1、设计一款音乐播放器,可以查看、添加、删除音乐 2、基于命令行方式 项目环境: 1、Goversion go1.7.5 windows/amd64 2、开发环境:LiteIDE 1、项目目录结构 E:projectgomusicplayertree /f 卷 文档 的文件夹 PATH 列表 卷序列号为 000B-250[详细]
-
GOLANG sync.WaitGroup讲解
所属栏目:[大数据] 日期:2020-12-16 热度:66
Package sync typeWaitGroup A WaitGroup waits for a collection of goroutines to finish. The main goroutine calls Add to set the number of goroutines to wait for. Then each of the goroutines runs and calls Done when finished. At the same tim[详细]
-
golang日記 - 函数里的构造函数(匿名函数)
所属栏目:[大数据] 日期:2020-12-16 热度:129
The Go Programming Language书的5.6节匿名函数中,有以下代码 func squares() func () int { var x int return func () int { x++ return x * x }} func main() { f := squares() fmt.Println(f()) // "1" fmt.Println(f()) // "4" fmt.Println(f()) // "9"[详细]
-
golang aes cbc pkcs5padding
所属栏目:[大数据] 日期:2020-12-16 热度:167
package mainimport ( "crypto/cipher" "encoding/base64" "crypto/aes" "log" "bytes")func main() { txt,err := AESBase64Encrypt("bbbbaaaaaa","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa") if err != nil{ log.Println(err) return } log.Println(txt) var sour[详细]
