- 博客(7)
- 收藏
- 关注
原创 以太坊之node生命周期详解
代码:github.com/ethereum/go-ethereum版本:96157a897be2032be5fdb87f947fbe5df8a53bd4一、官方介绍node包实现了一个可以包含多种协议的以太坊节点。节点是服务得集合,这些服务使用共享资源提供的RPC API。服务还可以提供Devp2p协议,当启动节点实例时,这些协议会连接到Devp2p网络。1、节点生命周期节点对象得生命周期分为三个状态,INITIALIZING,RUNNING,CLOSED。状态流转如下:●───────┐
2021-02-05 11:59:50
856
原创 以太坊之event包--发布订阅模式详解
一、总结event包实现了以太坊中的事件发布订阅模式,这个包中主要有两个对象,一个TypeMux,一个Feed,其中TypeMux已经被标记为Deprecated,推荐使用Feed。二、源码分析1、TypeMux分析 (推荐使用Feed,但是还有地方使用)a、主要结构体TypeMux结构体type TypeMux struct { mutex sync.RWMutex subm map[reflect.Type][]*TypeMuxSubscription //保存对应的订
2021-01-19 17:07:20
1334
5
原创 函数式选项模式
众所周知,结构体得初始化,一般有两种方法type Person struct { Name string Age int Phone string}比如直接在外面构造var p = Person{Name:"jack",Age:28,Phone:"123456"}总结:1、字段非常多的时候,也需要一个个的字段去进行赋值;2、将Person得代码细节过多得暴露给外部。或着利用函数初始化func MakePerson(name string, a...
2020-06-28 15:19:52
306
原创 leetcode刷题之 无重复字符的最长子串(go实现)
题目来自于LeetCode(https://leetcode-cn.com)。给定一个字符串,请你找出其中不含有重复字符的最长子串的长度。示例1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb" ...
2019-07-03 21:43:41
346
原创 leetcode刷题之两数相加(go实现)
题目来自于LeetCode(https://leetcode-cn.com)。1、给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例: 输入:(2 -&g...
2019-07-03 16:15:30
272
原创 leetcode刷题之两数之和变种一(go实现)
题目来自于LeetCode(https://leetcode-cn.com)。1、给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1必须小于index2。说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一...
2019-07-02 16:59:20
227
原创 leetcode刷题之两数之和(go实现)
最近打算把leetcode的算法题刷一下,为了防止自己忘记,特意写下来解题的方法,每道题都是认真去做,然后想能不能有更优解。如果各位有更好的解法,可以交流下,谢谢。题目来自于LeetCode(https://leetcode-cn.com)。1、给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输...
2019-07-02 14:42:50
454
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人