Go语言中文网 为您找到相关结果 3465

go语言实现楕圆曲线生成公私钥

package main import ("bytes""compress/gzip""crypto/ecdsa""crypto/elliptic""crypto/md5""crypto/rand""encoding/hex""errors""fmt""math/big""prlife/tool""strings")//楕圆曲线算法生成公钥,func main(){//测试根据随机key及楕圆曲线生成私钥和公钥privateKey,publicKey:=newKeyPair()fmt.Printf("私钥:%x\n",privateKey.D.Bytes())fmt.Printf("公钥:%x\n",publicKey) //16进制表示//根据指定key生成私钥和公钥randKey := ...阅读全文

博文 2020-08-15 19:33:33 v824394795

Go语言文件读取的一些总结

Go语言在进行文件操作的时候,可以有多种方法。最常见的比如直接对文件本身进行Read和Write; 除此之外,还可以使用bufio库的流式处理以及分片式处理;如果文件较小,使用ioutil也不失为一种方法。面对这么多的文件处理的方式,那么初学者可能就会有困惑:我到底该用那种?它们之间有什么区别?笔者试着从文件读取来对go语言的几种文件处理方式进行分析。os.File、bufio、ioutil比较效率测试文件的读取效率是所有开发者都会关心的话题,尤其是当文件特别大的时候。为了尽可能的展示这三者对文件读取的性能,我准备了三个文件,分别为small.txt,midium.txt、large.txt,分别对应KB级别、MB级别和GB级别。这三个文件大小分别为4KB、21MB、1GB。其中内容是比较常...阅读全文

博文 2020-08-19 21:32:39 禹鼎侯

Error Coverage

<p>Do you guys test for coverage when you pass an error along?</p> <p>For a specific example say I&#39;m using database/sql with a driver and I know the driver returns errors. I want to pass those errors along to the caller but I feel that testing these is really testing the driver implementation. </p> <p>Am I wr...阅读全文

资源 2017-05-05 22:00:02 blov

首发特性:goproxy.cn 现已推出首个 Go 模块代理统计数据 API

前言 这周很值得纪念,首先是 goproxy.cn 已缓存的模块版本总数突破了一百万,这甚至比起 Go 官方的 proxy.golang.org 已缓存的还要多出不少。其次是 goproxy.cn 的日访问量已稳定在千万级,正在朝着亿级进发,目前这在国内我了解到的别的几个同类服务中是最多的了。另外尤为重要的一点是,经过我们的不懈努力,甚至付出了两次事故的代价(详见:status.goproxy.cn),我们终于使得 goproxy.cn 达到了零错误率!现在的 goproxy.cn 可以说是很稳的了,大家可以放心使用。 刚刚在开头稍微为这一个月发生的事情做了个小总结。接下来说一下本次的重点,也就是 goproxy.cn 推出了 Go 模块代理世界中的首个统计数据 API(文档详见:gopro...阅读全文

博文 2020-03-30 23:35:16 煎鱼eddycjy

青年公益徐红星(# Contributing Guidelines)

# Contributing GuidelinesRead the following guide if you're interested in contributing to Ingress. [Make Ingress-Nginx Work for you, and the Community](https://youtu.be/GDm-7BlmPPg) from KubeCon Europe 2018 is a great video to get you started!!## Contributor License AgreementsWe'd love to accept your patches! Before we can take them, we have to jum...阅读全文

博文 2020-01-25 15:32:40 青年公益

Golang标准库——crypto(2)

hmac md5 rand rc4 rsa sha1 sha256 sha512 subtle hmac hmac包实现了U.S. Federal Information Processing Standards Publication 198规定的HMAC(加密哈希信息认证码)。 HMAC是使用key标记信息的加密hash。接收者使用相同的key逆运算来认证hash。 出于安全目的,接收者应使用Equal函数比较认证码: // 如果messageMAC是message的合法HMAC标签,函数返回真 func CheckMAC(message, messageMAC, key []byte) bool { mac := hmac.New(sha256.New, key) mac.Write(...阅读全文

博文 2020-09-21 21:32:41 DevilRoshan

golang读取文件

4种读文件方式 package main import ( "bufio" "fmt" "io" "io/ioutil" "os" "time" ) func read0(path string) string { f, err := ioutil.ReadFile(path) if err != nil { fmt.Printf("%s\n", err) panic(err) } return string(f) } func read1(path string) string { fi, err := os.Open(path) if err != nil { panic(err) } defer fi.Close() chunks := make([]byte, 1024, 1024)...阅读全文

博文 2020-09-15 11:32:42 万大宝_我兜里有糖

go学习笔记:计算文件中重复的行,并输出重复次数

方法一:按行读取package main import ("bufio""fmt""os") func main() {counts:=make(map[string]int)files:=os.Args[1:]if len(files) == 0 {countLines(os.Stdin,counts)}else{for _,arg:=range files{f,err:=os.Open(arg)if err != nil {fmt.Fprintf(os.Stderr,"dup2:%v\n",err)continue}countLines(f,counts)f.Close()}}for line,n:=range counts{if n > 1{fmt.Printf("%d\t%s\n",...阅读全文

博文 2020-09-27 22:33:24 庭中有奇树

2020-08-20:GO语言中的协程与Python中的协程的区别?

福哥答案2020-08-20: 1.golang的协程是基于gpm机制,是可以多核多线程的。Python的协程是eventloop模型(IO多路复用技术)实现,协程是严格的 1:N 关系,也就是一个线程对应了多个协程。虽然可以实现异步I/O,但是不能有效利用多核(GIL)。 2.golang用go func。python用import asyncio,async/await表达式。 评...阅读全文

博文 2020-08-20 23:32:41 福大大架构师每日一题

Suggestions/strategy for messaging and/or user-group systems for a Go app

<p>I’m looking for suggestions/strategy on messaging systems and/or user-group-management systems for my app.</p> <p>The app is all Go in the back-end, with MYSQL db and an API serving JSON to clients (website, Android, iPhone). Hosted on Google Cloud using App Engine. Primary features are event posting+rsvp’ing with event commen...阅读全文

Go 语言学习笔记-文件操作

打开、创建文件 创建文件 Create file, err := os.Create("F:/futureWeb/goLang/testFile.go") 参数:name。打开文件的路径:绝对路径、相对路径 目录分隔符:/ 文件不存在,则创建。文件存在,则将文件内容清空。 打开文件 Open 参数:name。打开文件的路径:绝对路径、相对路径 以只读方式打开文件。文件不存在,则打开失败。 f, err := os.Open("F:/futureWeb/goLang/testFile.go") 打开文件 OpenFile f, err := os.OpenFile("F:/futureWeb/goLang/testFile.go", os.O_RDONLY, 6) 参数1:name。打开文件的...阅读全文

博文 2020-04-12 19:32:42 梁坤同学

【Go从学会到学废】(一) 下载、安装、配置

一、下载 Go语言官方网站地址https://golang.google.cn/ image-20201014185445041 Go语言中文网下载地址https://studygolang.com/dl image-20201014185610693 二、安装 双击安装包,一直下一步就行 image-20201014190209077 image-20201014190238110 image-20201014190315886 image-20201014190338717 image-20201014190410870 img 安装完成 三、配置 1.配置Go运行目录 image-20201014190827092 2.配置GoPath image-20201014191341305 ...阅读全文

Kubernetes+Dashboard安装部署

部署安装: 1)原密码编译安装,golang编译环境 2)二进制安装 文档 全程手动,ansible版,saltstak版 3)kubeadm 安装 网络要求. 1.0~1.14 4)minikube 开发者学习 5)yum 安装 1.5.2 本文采用kubeadm 安装、 一、(在 master 节点和 node 节点都要执行)Docker安装;** 1. 安装依赖包** yum install -y yum-utils device-mapper-persistent-data lvm2 2. 设置Docker源** yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ...阅读全文

博文 2020-09-23 13:32:45 SmallTeena_2d0f

Golang标准库——fmt

fmt包实现了类似C语言printf和scanf的格式化I/O。格式化动作('verb')源自C语言但更简单。 Printing verb: 通用: %v 值的默认格式表示 %+v 类似%v,但输出结构体时会添加字段名 %#v 值的Go语法表示 %T 值的类型的Go语法表示 %% 百分号 布尔值: %t 单词true或false 整数: %b 表示为二进制 %c 该值对应的unicode码值 %d 表示为十进制 %o 表示为八进制 %q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示 %x 表示为十六进制,使用a-f %X 表示为十六进制,使用A-F %U 表示为Unicode格式:U+1234,等价于"U+%04X" 浮点数与复数的两个组分: %b 无小数部分、二进...阅读全文

博文 2020-10-09 23:32:41 DevilRoshan

Gox语言目前支持的Go语言标准库与第三方库-GX4.2

Gox语言目前内置支持大多数Go语言(Golang)的官方标准库,也支持一些常用的第三方库。这些内置的库使用时无需导入,直接按一定的名称规则使用即可:类似 strings这样一级名称的ku直接使用即可,例如 strings.Contains(a, "b");对于多级的包名,规定“/”字符用下划线“_”代替,其他字符一律去除,例如 net/http直接用net_http引用即可。另外github.com这样的名称将去掉后面的“.com”后缀,例如github.com/topxeq/sqltk用github_topxeq_sqltk引用即可,gonum.org/v1/plot用gonum_v1_plot引用。而像github.com/topxeq/tk这样特别常用的库,还可以直接用tk这样的简称...阅读全文

博文 2020-05-31 22:33:19 陆满庭

Golang标准库——image

image image实现了基本的2D图片库。 基本接口叫作Image。图片的色彩定义在image/color包。 Image接口可以通过调用如NewRGBA和NewPaletted函数等获得;也可以通过调用Decode函数解码包含GIF、JPEG或PNG格式图像数据的输入流获得。解码任何具体图像类型之前都必须注册对应类型的解码函数。注册过程一般是作为包初始化的副作用,放在包的init函数里。因此,要解码PNG图像,只需在程序的main包里嵌入如下代码: import _ "image/png" _表示导入包但不使用包中的变量/函数/类型,只是为了包初始化函数的副作用。 参见http://golang.org/doc/articles/image_package.html Variables...阅读全文

博文 2020-10-13 23:32:38 DevilRoshan

DjanFey的基础库解读--io包

// io包提供了原始I/O的基础接口 // 它的主要工作是去包含这些原始I/O已经存在的实现 // 比如在os包中的这些,抽象出功能做成共享接口,加上其它相关的原始I/O // 因为这些接口和原始I/O包裹着各种各样的实现的低级操作,除非非常了解客户端否则不能假定他们是并发安全的 package my_io import "errors" // Seek值的来源 const ( SeekStart = 0 //seek对应文件的起始处 SeekCurrent = 1 // seek对应当前的偏距 SeekEnd = 2 // seek对应结尾 ) // ErrShortWrite意味着一个write接收到少于要求字节数的数据,并没有返回一个明确的错误 var ErrShortWrite =...阅读全文

博文 2020-03-06 22:54:36 DjanFy

go学习笔记:io.copy

package main import ("bufio""fmt""io""net/http""os") func main() {DownFile()} func DownFile() {url := "https://s3.pstatp.com/toutiao/xitu_juejin_web/img/juejin-extension-icon.4b79fb4.png"resp,err:=http.Get(url)if err !=nil{fmt.Fprintf(os.Stderr,"get url failed",err)return}defer resp.Body.Close() out,err:=os.Create("/tmp/dalu.png") wt:=bufio.NewWrit...阅读全文

博文 2020-09-28 09:33:17 庭中有奇树

golang版本对某网站HLS爬取与聚合

需要系统预装ffmpeg package main /* @Author: Create by hjx @Date:2020-02-03 */ import ( "flag" "fmt" "io" "io/ioutil" "net/http" "os" "os/exec" "regexp" "runtime" "strconv" "strings" "sync" "time" ) const ( PREFIX = "hjx—>" PREFIX_INFO = PREFIX + "[INFO]:" PREFIX_ERROR = PREFIX + "[ERROR]:" PREFIX_WARNING = PREFIX + "[WARNING]:" TARGET_URL = "https://www....阅读全文

博文 2020-07-05 14:33:00 石鸟路遇

Noob question (sorry)

<p>Hey guys, I&#39;m just struggling to get my head around something with go, I&#39;m only looking at the language for a day or two.</p> <p>I&#39;ve read / been told that theres no runtime, and that go programs are single executables with no dependencies. Does this mean I could run a Go program on a server which does ...阅读全文

Golang | IO库

一、io 1、两个接口 Go 的 io 包提供了 io.Reader 和 io.Writer 接口,分别用于数据的输入和输出; Go 官方提供了一些 API,支持对内存结构,文件,网络连接等资源进行操作; 围绕io.Reader/Writer,有几个常用的实现: net.Conn, os.Stdin, os.File: 网络、标准输入输出、文件的流读取 strings.Reader: 把字符串抽象成Reader(类似流那样,这样就有各种API了) bytes.Reader: 把[]byte抽象成Reader bytes.Buffer: 把[]byte抽象成Reader和Writer bufio.Reader/Writer: 抽象成带缓冲的流读取(比如按行读写) 什么是流?流是一种数据的载体,...阅读全文

博文 2020-04-06 00:34:21 _Liu_

Golang标准库——debug/macho

macho 包macho可以实现对Mach-O对象文件的访问。 Constants const ( Magic32 uint32 = 0xfeedface Magic64 uint32 = 0xfeedfacf MagicFat uint32 = 0xcafebabe ) Variables var ErrNotFat = &FormatError{0, "not a fat Mach-O file", nil} 如果文件不是通用二进制文件,但根据其幻数可能是精简二进制文件,则从NewFatFile或OpenFat返回ErrNotFat。 type Cpu type Cpu uint32 Cpu是Mach-O cpu类型。 const ( Cpu386 Cpu = 7 CpuAmd64 Cp...阅读全文

博文 2020-09-26 02:32:40 DevilRoshan

Python MQTT 客户端对比

随着人工智能、大数据兴起的,Python 凭借着优雅的语言风格,丰富的库,以及平缓的入门曲线,搭上了时代的顺风车,成为了最热门的计算机编程语言之一,开始深入到物联网等各个领域中。 Python 上有许多优秀的 MQTT 客户端库,借助它们,我们可以以极少量的代码开发一个 MQTT 客户端应用。 本文收集了三个常见的 Python MQTT 客户端库,并从库的开发、使用复杂度等几个角度进行简单的对比以方便读者进行选择。同时,文章里也提供了简单的 Python 示例,您可以将示例代码复制到编缉器中直接运行(需要 Python 3.5+,并安装对应的依赖包)。 paho-mqtt paho-mqtt 可以说是 Python MQTT 开源客户端库中的佼佼者。它由 Eclipse 基金会主导开发,除...阅读全文

博文 2020-09-24 13:32:47 EMQ

要获得中间件开发的Offer,难么?

# 前言本文主要是写给那些想从事中间件开发的同学看的 :)如果你没有这个打算,那么本文的学习路线非但不实用,还可能会影响你正常的工作 :)# 什么是中间件开发?随着国内软件行业的发展,国内互联网公司规模越来越大,业务越来越复杂,随之使用大量的中间件来提高后台服务性能。由此产生了中间件开发和维护人员。诚然,在小公司,中间件,例如缓存,MQ,RPC 等服务,极大可能是由业务开发人员自己维护,或者委托第三方云平台运维(支付一些费用)。但,如果后台开发超过 200 人,基本就会组建自己的中间件或者基础架构团队,用于维护后台服务器基础架构和中间件。更大规模的公司,则由于各种各样的原因(性能,KPI),会自己开发中间件,简称自研。这要求中间件团队需要更多的人员。# 中间件开发人员需要哪些素质?既然需要中...阅读全文

博文 2020-04-07 15:32:46 编程的程序员

Golang标准库——compress/lzw

lzw lzw包实现了Lempel-Ziv-Welch数据压缩格式,这是一种T. A. Welch在“A Technique for High-Performance Data Compression”一文(Computer, 17(6) (June 1984), pp 8-19)提出的一种压缩格式。 本包实现了用于GIF、TIFF、PDF文件的lzw压缩格式,这是一种最长达到12位的变长码,头两个非字面码为clear和EOF码。 type Order type Order int Order指定一个lzw数据流的位顺序。 const ( // LSB表示最小权重位在前,用在GIF文件格式 LSB Order = iota // MSB表示最大权重位在前,用在TIFF和PDF文件格式 MSB...阅读全文

博文 2020-09-20 00:32:37 DevilRoshan

Go Web 编程之 静态文件

概述 在 Web 开发中,需要处理很多静态资源文件,如 css/js 和图片文件等。本文将介绍在 Go 语言中如何处理文件请求。 接下来,我们将介绍两种处理文件请求的方式:原始方式和http.FileServer方法。 原始方式 原始方式比较简单粗暴,直接读取文件,然后返回给客户端。 func main() { mux := http.NewServeMux() mux.HandleFunc("/static/", fileHandler) server := &http.Server { Addr: ":8080", Handler: mux, } if err := server.ListenAndServe(); err != nil { log.Fatal(err) } } 复制代码...阅读全文

博文 2020-01-14 11:34:29 darjun

【红岸智能】 -- IPFS官方周报第59期

​ 星际文件系统 (IPFS) ( https://ipfs.io/ )是一种新的超媒体分布协议,通过内容和标识来寻址。IPFS 支持创建完全分布式的应用程序。它的目标是使网络更快、更安全、更开放。由于范围广大,本周刊旨在跟踪整个生态系统的开发。想参与其中?点击下面的一些链接,查看我们在 GitHub ( https://github.com/ipfs )上的内容,或加入我们的 IRC ( https://riot.im/app/#/room/#ipfs:matrix.org )。想要更新你的收件箱吗? 订阅我们的每周通讯! (https://tinyletter.com/ipfsnewsletter)以下是自上次 IPFS 周刊以来的一些亮点。最新发布IPFS 解释程序 (IPFS Exp...阅读全文

博文 2019-10-17 20:35:32 aside section ._1OhGeD

DjanFey的基础库解读--io包(multi.go)

package my_io type eofReader struct { } func (eofReader) Read([]byte) (int, error) { return 0,EOF } type multiReader struct { readers []Reader } func (mr *multiReader) Read(p []byte) (n int, err error) { for len(mr.readers)>0{ // 对展开嵌套multiReaders的优化(Issue 13558) // 如果readers只有一个元素且也是multiReader类型的,直接将元素的readers赋值给最外层的readers if len(mr.readers)==1{...阅读全文

博文 2020-03-07 13:35:10 DjanFy