-
Golang 编写的图片压缩程序,质量、尺寸压缩,批量、单张压缩
所属栏目:[大数据] 日期:2020-12-16 热度:198
time.Sleep( * time.Minute) } ? tips := [] itemLen := i := ;i i == itemLen - } } type InputArgs OutputPath LocalPath Quality Width } func isPictureFormat(path ) ( , , temp := strings.Split(path, len(temp) , , mapRule := make(map[ mapRule[ ][详细]
-
Golang, 以17个简短代码片段,切底弄懂 channel 基础
所属栏目:[大数据] 日期:2020-12-16 热度:56
done := make(chan ) done1 := make(chan , ) } ? ? ? ? done := make(chan done println( } done := make(chan done println( } done := make(chan println( } done := make(chan println( } done := make(chan println( ) done println( println( } done :[详细]
-
比特币中对交易进行签名的详细过程
所属栏目:[大数据] 日期:2020-12-16 热度:134
最近在和同事交流我们中对UTXO和签名的处理,有些心得,写下此博文。对比特币有点基本概念的都知道,比特币是通过ECDSA数字签名来解锁UTXO中的未花费余额。 关于UTXO我不需要做太多介绍,毕竟介绍这个概念的文章已经很多了。我主要是谈谈已经有UTXO了,该怎[详细]
-
在Fabric ChainCode中导入第三方包(以状态机为例)
所属栏目:[大数据] 日期:2020-12-16 热度:120
在企业级应用开发中,经常会涉及到流程和状态,而有限状态机(FSM)则是对应的一种简单实现,如果复杂化,就上升到Workflow和BPM了。我们在Fabric ChainCode的开发过程中,也很可能涉及到状态机,这里我们就举一个例子,用FSM实现一个二级审批的状态转移。[详细]
-
如何在本地测试Fabric Code
所属栏目:[大数据] 日期:2020-12-16 热度:146
讲到了如何编译本地的Fabric Code成镜像文件,那么如果我们想改Fabric源代码,实现一些Fabric官方并没有提供的功能,该怎么办呢?这时我们除了改源码,增加需要的功能外,还需要能够跑通Fabric的测试。Fabric的测试主要包括单元测试和行为测试,下面分别介绍[详细]
-
HyperLedger Fabric ChainCode开发——shim.ChaincodeStubInterf
所属栏目:[大数据] 日期:2020-12-16 热度:173
深蓝前几篇博客讲了Fabric的环境搭建,在环境搭建好后,我们就可以进行Fabric的开发工作了。Fabric的开发主要分成2部分,ChainCode链上代码开发和基于SDK的Application开发。我们这里先讲ChainCode的开发。Fabric的链上代码支持Java或者Go语言进行开发,因为[详细]
-
在Ubuntu上快速搭建基于Beego的RESTful API
所属栏目:[大数据] 日期:2020-12-16 热度:187
最近在研究Go,打算基于Go做点Web API,于是经过初步调研,打算用Beego这个框架,然后再结合其中提供的ORM以及Swagger的集成,可以快速搭建一个RESTful API的网站。 下面是具体做法: 1. 在Ubuntu中安装Go 1.8 默认Ubuntu apt-get提供的是Go 1.6,而我们要用[详细]
-
go基础1:Hello world与变量声明
所属栏目:[大数据] 日期:2020-12-16 热度:50
一、go语言版hello world go语言不需要在语句或者声明后面是用分号结尾,除非有多个语句或者声明出现在同一行。 注意: 1." { "符号必须和关键字func在同一行,不能独立成行 二、变量声明 以下变量声明的方式是等价的: 1.s := "" // 短变量声明更加简洁,通[详细]
-
go语言之行--golang操作redis、mysql大全
所属栏目:[大数据] 日期:2020-12-16 热度:135
一、redis 简介 redis(REmote DIctionary Server)是一个由Salvatore Sanfilippo写key-value存储系统,它由C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value类型的数据库,并提供多种语言的API。和Memcached类似,它支持存储的val[详细]
-
go语言之行--golang核武器goroutine调度原理、channel详解
所属栏目:[大数据] 日期:2020-12-16 热度:159
一、goroutine简介 goroutine是go语言中最为NB的设计,也是其魅力所在,goroutine的本质是协程,是实现并行计算的核心。goroutine使用方式非常的简单,只需使用go关键字即可启动一个协程,并且它是处于异步方式运行,你不需要等它运行完成以后在执行以后的代[详细]
-
go语言之行--网络编程、http处理流程详情
所属栏目:[大数据] 日期:2020-12-16 热度:76
一、简介 go语言中的网络编程主要通过net包实现,net包提供了网络I/O接口,包括HTTP、TCP/IP、UDP、域名解析和Unix域socket等。和大多数语言一样go可以使用几行代码便可以启动一个服务器,但是得益于goroutine的配合go实现的服务器拥有强大并发处理能力。 二[详细]
-
go语言之行--文件操作、命令行参数、序列化与反序列化详解
所属栏目:[大数据] 日期:2020-12-16 热度:144
一、简介 文件操作对于我们来说也是非常常用的,在python中使用open函数来对文件进行操作,而在go语言中我们使用os.File对文件进行操作。 二、终端读写 操作终端句柄常量 os.Stdin: 标准输入 os.Stdout: 标准输出 os.Stderr: 标准错误输出 读写示例: import[详细]
-
go语言之行--数组、切片、map
所属栏目:[大数据] 日期:2020-12-16 热度:105
一、内置函数 append :追加元素到slice里,返回修改后的slice close :关闭channel delete :从map中删除key对应的value panic? : 用于异常处理,停止常规的goroutine recover :用于异常处理,允许程序定义goroutine的panic动作 imag :返回复数(complex)[详细]
-
go语言之行--结构体(struct)详解、链表
所属栏目:[大数据] 日期:2020-12-16 热度:64
一、struct简介 go语言中没有像类的概念,但是可以通过结构体struct实现oop(面向对象编程)。struct的成员(也叫属性或字段)可以是任何类型,如普通类型、复合类型、函数、map、interface、struct等,所以我们可以理解为go语言中的“类”。 二、struct详解 st[详细]
-
go语言之行--接口(interface)、反射(reflect)详解
所属栏目:[大数据] 日期:2020-12-16 热度:162
一、interface简介 interface(接口)是golang最重要的特性之一,Interface类型可以定义一组方法,但是这些不需要实现。并且interface不能包含任何变量。 简单的说: interface是方法的集合 interface是一种类型,并且是指针类型 interface的更重要的作用在于[详细]
-
go语言之行--基础部分
所属栏目:[大数据] 日期:2020-12-16 热度:156
h2 id="autoid-2-0-0" 一、数据类型 布尔型 布尔类型?- 由两个预定义常量组成: true、 false,默认值为false import span style="color: #800000;"" span style="color: #800000;"fmt span style="color: #800000;"" span style="color: #000000;" func mai[详细]
-
go语言之行--简介与环境搭建
所属栏目:[大数据] 日期:2020-12-16 热度:127
table style="height: 30px; background-color: #afeeee; width: 1266px;" border="0" tr tdspan style="font-size: 16px;" 一、Go简介 /td /tr /table Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griese[详细]
-
go语言之行--包与变量
所属栏目:[大数据] 日期:2020-12-16 热度:156
table style="height: 30px; background-color: #afeeee; width: 1266px; ; width: 1266px;" border="0" tr tdspan style="font-size: 16px;" 一、包的概念 /td /tr /table 包是go语言中不可缺少部分,在每个go源码的第一行进行定义,定义方式是:package "[详细]
-
Go语言转换所有字符串为大写或者小写的方法
所属栏目:[大数据] 日期:2020-12-16 热度:161
本篇章节讲解Go语言转换所有字符串为大写或者小写的方法。供大家参考研究。具体如下: Go语言的string模块包含了ToLower和ToUpper函数,用于将字符串转换成小写和大写 复制代码 代码如下: package main import ( "fmt" "strings" ) func main() { fm[详细]
-
Go语言模拟while语句实现无限循环的方法
所属栏目:[大数据] 日期:2020-12-16 热度:104
本篇章节讲解Go语言模拟while语句实现无限循环的方法。供大家参考研究。具体实现方法如下: 这段代码把for语句当成C语言里的while(true)用实现无限循环 复制代码 代码如下: package main import "fmt" func main() { sum := 0 for { sum ++ if sum 1[详细]
-
Go语言中接口组合的实现方法
所属栏目:[大数据] 日期:2020-12-16 热度:117
本篇章节讲解Go语言中接口组合的实现方法。供大家参考研究。具体实现方法如下: 在Go语言中,可以在接口A中组合其它的一个或多个接口(如接口B、C),这种方式等价于在接口A中添加接口B、C中声明的方法。 复制代码 代码如下: //接口中可以组合其它接[详细]
-
Go语言里的结构体文法实例分析
所属栏目:[大数据] 日期:2020-12-16 热度:65
本篇章节讲解Go语言里的结构体文法。供大家参考研究。具体分析如下: 结构体文法表示通过结构体字段的值作为列表来新分配一个结构体。 使用 Name: 语法可以仅列出部分字段。(字段名的顺序无关。) 特殊的前缀 nbsp; X,Y int } var ( p = Vertex{1,2[详细]
-
Go语言调用其它程序并获得程序输出的方法
所属栏目:[大数据] 日期:2020-12-16 热度:185
本篇章节讲解Go语言调用其它程序并获得程序输出的方法。供大家参考研究。具体实现方法如下: 复制代码 代码如下: package main import ( "exec" // "os/exec" in go1 "fmt" ) func main(){ cmd := exec.Command("ls","-l") buf,err := cmd.Output()[详细]
-
go语言简单网络程序实例分析
所属栏目:[大数据] 日期:2020-12-16 热度:150
本文实例分析了go语言简单网络程序。供大家参考研究。具体分析如下: 服务端代码如下: 复制代码 代码如下: package main import ( "net" "os" ) func serve(s net.Conn) { var buf [1024]byte for { n,err := s.Read(nbsp; if err != nil || n == 0 {[详细]
-
golang操作mongodb的方法
所属栏目:[大数据] 日期:2020-12-16 热度:52
本篇章节讲解golang操作mongodb的方法。供大家参考研究。具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "launchpad.net/mgo" "launchpad.net/mgo/bson" ) type Mail struct { Id bson.ObjectId "_id" Name string Email strin[详细]
