caipin 1 anno fa
parent
commit
5d666567df
2 ha cambiato i file con 0 aggiunte e 128 eliminazioni
  1. 0 86
      learn/struct.go
  2. 0 42
      learn/structEntry/structEntry.go

+ 0 - 86
learn/struct.go

@@ -1,86 +0,0 @@
-/*
- * @description:struct相关知识
- * @Author: CP
- * @Date: 2020-08-21 09:34:47
- * @FilePath: \construction_management\learn\struct.go
- */
-package learn
-
-import (
-	"fmt"
-)
-
-/*
-没有class,只有struct结构体
-没有构造函数,可以加工厂函数来构造
-结构体过大也考虑使用指针接收者
-结构体的方法的封装
-首字母大写:public
-首字母小写:private 只是针对包
-包
-每个目录一个包,为结构体定义的方法必须在同一个包内
-结构体的方法可以分散在不同的文件内,同一个包内
-
-扩展其他人写的包-学习go语言4-3
-*/
-type TreeNode struct {
-	Value int
-	// *类型是指针
-	Left, Right *TreeNode
-}
-
-//为结构定义方法-方法名称前 定义好 (node treeNode)
-//显示定义和命名方法接收者
-func (node TreeNode) Print() {
-	fmt.Println(node.Value)
-}
-
-//这里不使用指针是改不掉里面的值 node treeNode,需要指针
-//只有使用指针才可以改变结构内容 nil指针也能调用方法
-func (node *TreeNode) SetValue(value int) {
-	node.Value = value
-}
-
-//遍历结构体treeNode
-func (node *TreeNode) Traveres() {
-	if node == nil {
-		return
-	}
-	//如果在其他语言node.left是nil调用traveres()会挂掉,在go语言中不会
-	node.Left.Traveres()
-	node.Print()
-	node.Left.Traveres()
-	node.Print()
-}
-
-//工厂函数来构造treeNode
-func CreateTreeNode(value int) *TreeNode {
-	return &TreeNode{Value: value}
-}
-
-// func main() {
-// 	// 创建结构的方式1
-// 	var root2 treeNode
-// 	fmt.Println(root2)
-// 	// 创建结构的方式2
-// 	root := treeNode{value: 3}
-// 	//&取地址
-// 	root.left = &treeNode{}
-// 	// 创建结构的方式3
-// 	root.left.right = new(treeNode)
-// 	// 创建结构的方式4
-// 	root.left.left = createTreeNode(2)
-// 	// 创建结构的方式5
-// 	node := []treeNode{
-// 		{value: 3},
-// 		{},
-// 		{6, nil, nil},
-// 	}
-// 	fmt.Println(node)
-
-// 	//调用结构体方法
-// 	root.print()
-// 	root.right.left.setValue(2)
-// 	root.right.left.print()
-// 	root.traveres()
-// }

+ 0 - 42
learn/structEntry/structEntry.go

@@ -1,42 +0,0 @@
-/*
- * @description:
- * @Author: CP
- * @Date: 2020-08-21 10:24:57
- * @FilePath: \construction_management\learn\structEntry\structEntry.go
- */
-package main
-
-import (
-	"fmt"
-
-	"go.mod/learn"
-)
-
-func main() {
-
-	// 创建结构的方式1
-	var root2 learn.TreeNode
-	fmt.Println(root2)
-	// 创建结构的方式2
-	root := learn.TreeNode{Value: 3}
-	root.Print()
-	// //&取地址
-	// root.left = &treeNode{}
-	// // 创建结构的方式3
-	// root.left.right = new(treeNode)
-	// // 创建结构的方式4
-	// root.left.left = createTreeNode(2)
-	// // 创建结构的方式5
-	// node := []treeNode{
-	// 	{value: 3},
-	// 	{},
-	// 	{6, nil, nil},
-	// }
-	// fmt.Println(node)
-
-	// //调用结构体方法
-	// root.print()
-	// root.right.left.setValue(2)
-	// root.right.left.print()
-	// root.traveres()
-}