![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
Pecto
这个作者很懒,什么都没留下…
展开
-
【语言知识】rand.Seed --golang
rand.Seed(time.Now().UnixNano())用途原创 2022-06-14 15:16:37 · 1011 阅读 · 0 评论 -
【语言知识】golang struct tag type -- json
inline, omitempty,-原创 2022-06-01 16:07:01 · 398 阅读 · 0 评论 -
【语言知识】golang--反射应用
反射将[]interface{}中信息读取出来func main() { s := "abc" var is []interface{} //i := s is = append(is, s) fmt.Printf("is is %v\n", is) val := reflect.ValueOf(is) fmt.Printf("val type is %v, value is %v\n", val.Kind(), val) switch val.Kind() { case refle原创 2022-05-07 11:32:25 · 162 阅读 · 0 评论 -
【二叉树算法】golang--构造二叉树
构造二叉树算法逻辑从前序或后序数组中,找到根节点Val值,对应为第一个元素或最后一个元素以根节点为切割点,分割中序数组、前/后序数组,注意先分割中序递归方式,得到最终结果疑问:为什么要递归当将数组分为左子树Val和右子树Val值后,后面的步骤和之前是完全一致的。均为找到根节点,分割左右子树所以采用递归方式通过前序遍历和中序遍历数组构造二叉树// 通过前序遍历和中序遍历构造二叉树func buildBinaryTreeII(preorder, inorder []int) *T原创 2022-04-29 11:31:29 · 1084 阅读 · 0 评论 -
【语言知识】golang-闭包
闭包什么是闭包函数内包含内嵌函数,且此内嵌函数调用外部非全局变量并且内嵌函数被父函数返回或被赋值以上,即为闭包通俗讲,闭包=内嵌函数+函数意外环境变量 组成的一个整体代码包举例func main() { // 什么是闭包: 闭包是由内嵌函数结构引出的问题,当内嵌函数调用了外部的非全局变量时,并且内嵌函数被返回或赋值,就形成了闭包 var i int=5 in := func()func(){ fmt.Printf("in 中的i = %v\n", i) j := 10 /原创 2022-04-28 11:31:48 · 124 阅读 · 0 评论 -
【二叉树算法】golang-遍历、翻转、对称
二叉树遍历二叉树// 二叉树遍历func fontForBinaryTree(node *TreeNode) []int{ // 递归方式 res := make([]int, 0, 0) if node == nil { return res } // 递归函数的传参及返回值 var in func(n *TreeNode) in = func(n *TreeNode) { // 递归终止条件 if n == nil { return } // 前序遍历单层逻原创 2022-04-24 11:08:29 · 415 阅读 · 0 评论 -
【语言知识】golang--set数据结构
set数据结构借助map实现golang中没有set数据结构,一般是通过map实现,因为map的key值是不能重复的示例type empty struct {}// golang中的set数据类型func MakeGolangSet(){ // 首先,空结构体内存消耗为0,其它数据结构如布尔值等均存在内存消耗 var e empty fmt.Printf("empty struct memory is %v\n", unsafe.Sizeof(e)) fmt.Printf("b原创 2022-04-19 15:26:18 · 1902 阅读 · 0 评论 -
【链表算法】-golang
链表/* single-liked list*/type ListNode struct { Val int Next *ListNode}删除链表倒数第N个节点双指针方法,快慢指针可以实现:当快指针前进第N+1个节点时,慢指针开始一起前进,最终当快指针指向末尾节点时,慢指针指向需要删除节点的上一节点示例func removeNthFromEnd(head *ListNode, n int) *ListNode { // 删除倒数第n个节点,fast-slow root :=原创 2022-04-12 16:02:14 · 466 阅读 · 0 评论 -
【语言知识】接口(多态、反射)--golang
接口接口分类类型举例非定义接口类型// 非定义接口类型 type i = interface { Info() string} 非定义空接口类型type j=interface{}定义接口类型type Writer interface { Write([]byte) (string, error)}定义空接口类型type Reader interface {}实现golang中接口实现是由编译器隐式转换完成的// 实现--golang中实现接原创 2022-04-08 15:03:06 · 92 阅读 · 0 评论