- 博客(7)
- 资源 (49)
- 收藏
- 关注
原创 golang通过反射设置结构体字段的值
type Person struct { Name string `json:"name"` Age int `json:"age"`}func SetValueToStruct(name string,age int) *Person { p := &Person{} v := reflect.ValueOf(p).Elem() v.FieldBy...
2018-02-08 18:46:42 11431
原创 golang通过反射获取结构体的字段
func main() { fmt.Println(GetFieldName(Student{})) fmt.Println(GetFieldName(&Student{})) fmt.Println(GetFieldName("")) fmt.Println(GetTagName(&Student{}))}type Student struct { Name ...
2018-02-08 18:42:00 18201
原创 golang实现AVL树
AVL树是带有平衡条件的二叉查找树特点:AVL树中每个节点的左子树和右子树的高度最多差1 旋转:由于插入操作可能会破坏AVL树的平衡特性,故在插入完成之前通过对树进行简单修正来恢复平衡示例代码如下:package mainimport ( "fmt")type avlTreeNode struct { key int high int
2018-02-06 13:42:11 1136
原创 golang逐行读取文件
func ReadLine(fileName string) ([]string,error){ f, err := os.Open(fileName) if err != nil { return nil,err } buf := bufio.NewReader(f) var result []string for { line, err := buf.ReadString(
2018-02-06 13:26:47 5235
原创 golang实现二叉查找树
二叉树:每个节点至多有两个子节点二叉查找树的特点:对于每一个节点X,左子树中所有项的值小于X中的值,而它的右子树种所有项的值大于X中的值。二叉查找树是特殊的二叉树以下用代码实现type binarySearchTree struct { value int left,right *binarySearchTree}//初始化并添加根节点的值f
2018-02-02 19:03:21 1197 3
原创 golang实现队列操作
队列和栈一样也是表。然而队列是插入在一段进行而删除在另一端进行。队列是先进先出(FIFO)的。下面用切片实现队列操作:package mainimport "fmt"type Element interface{}type Queue interface { Offer(e Element) //向队列中添加元素 Poll() Element /
2018-02-01 18:13:41 7671
原创 golang实现栈操作
栈是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶。栈有时又叫LIFO(先进后出)表。对栈的操作有Push(进栈)和Pop(出栈),前者相当于插入,后者相当于删除最后插入的元素。以下用双向链表和切片实现分别实现栈操作//stack//用双向链表实现stacktype Element interface {}var header *entry
2018-02-01 18:05:30 2396
G3 PLC相关协议文档(MAC/Physical/Profile/白皮书)
2020-08-04
IEC 62056协议全套(带中文版)
2020-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人