diff --git a/.gitignore b/.gitignore index 20f1a688fc48a883eab250f3bed40b8007636751..4e661d9b1bbb22a4065abaea57e6e77e49046024 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ # Dependency directories (remove the comment below to include it) # vendor/ + +# Remove Visual Studio Code .history +*.history diff --git a/course_doc/.DS_Store b/course_doc/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4c58713f24cc8337dd61a6ad83934f42f3989b3d Binary files /dev/null and b/course_doc/.DS_Store differ diff --git a/go.work b/go.work index 397e4e33c0af128d4fe4487eeddd978ccf7c2b65..17e4dfba13798e641a3303eaa5c677fd3740d045 100644 --- a/go.work +++ b/go.work @@ -4,5 +4,7 @@ use ( ./homework/week1/G012033张才宝 ./homework/week1/GO12044唐一 ./homework/week2/GO12030张群山 + ./homework/week3/GO12018xuehongbo/2 + ./homework/week3/GO12018xuehongbo/3 ./homework/week3/GO12031马鹏飞 ) diff --git a/homework/week1/GO12018xuehongbo/a/go.mod b/homework/week1/GO12018xuehongbo/a/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..b4c7e453dc54ff7a6ce3f5c705c41ed2cc68c799 --- /dev/null +++ b/homework/week1/GO12018xuehongbo/a/go.mod @@ -0,0 +1,3 @@ +module hbxue.com + +go 1.20 diff --git a/homework/week1/GO12018xuehongbo/a/main.go b/homework/week1/GO12018xuehongbo/a/main.go new file mode 100644 index 0000000000000000000000000000000000000000..5bbbe9ea90c58d033b1f532ae831fa813d4305dc --- /dev/null +++ b/homework/week1/GO12018xuehongbo/a/main.go @@ -0,0 +1,12 @@ +package main + +import "fmt" + +func main() { + for i := 1; i <= 9; i++ { + for j := 1; j <= i; j++ { + fmt.Printf("%d*%d=%v\t", j, i, i*j) + } + fmt.Println() + } +} diff --git a/homework/week1/GO12018xuehongbo/b/go.mod b/homework/week1/GO12018xuehongbo/b/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..b4c7e453dc54ff7a6ce3f5c705c41ed2cc68c799 --- /dev/null +++ b/homework/week1/GO12018xuehongbo/b/go.mod @@ -0,0 +1,3 @@ +module hbxue.com + +go 1.20 diff --git a/homework/week1/GO12018xuehongbo/b/main.go b/homework/week1/GO12018xuehongbo/b/main.go new file mode 100644 index 0000000000000000000000000000000000000000..7df4db30c609283e7814a7816dd9aad8f99c7fa6 --- /dev/null +++ b/homework/week1/GO12018xuehongbo/b/main.go @@ -0,0 +1,51 @@ +package main + +import ( + "fmt" + "math/rand" + "time" +) + +func main() { + src := rand.NewSource(time.Now().UnixNano()) + gen := rand.New(src) + var ( + evenSum int = 1 + oddSum int + ) + // genNumbers := []int{} + index := 0 + for i := 1; i <= 20; { + randNum := gen.Intn(20) + index++ + fmt.Println(index, "rand number is ", randNum) + if randNum == 0 { + // when get 0 rand number jump to next round + continue + } else if i&1 == 1 { // bit operation + fmt.Println("Odd index is ", i) + fmt.Println("Odd index rand number is ", randNum) + oddSum += randNum + } else if i&1 == 0 { // bit operation + fmt.Println("Even index is ", i) + fmt.Println("Even index rand number is ", randNum) + evenSum *= randNum + } + // genNumbers = append(genNumbers, randNum) + i++ + } + // fmt.Println(genNumbers) + // fmt.Println("Odd numbers' sum ", oddSum) + // fmt.Println("Even numbers' multi ", evenSum) + // oddS := 0 + // evenS := 1 + // for i, v := range genNumbers { + // if (i+1)%2 == 1 { + // oddS += v + // } else if (i+1)%2 == 0 { + // evenS *= v + // } + // } + // fmt.Println("Odd numbers num is :::: ", oddS) + // fmt.Println("Even numbers num is ::::", evenS) +} diff --git a/homework/week1/GO12018xuehongbo/c/go.mod b/homework/week1/GO12018xuehongbo/c/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..b4c7e453dc54ff7a6ce3f5c705c41ed2cc68c799 --- /dev/null +++ b/homework/week1/GO12018xuehongbo/c/go.mod @@ -0,0 +1,3 @@ +module hbxue.com + +go 1.20 diff --git a/homework/week1/GO12018xuehongbo/c/main.go b/homework/week1/GO12018xuehongbo/c/main.go new file mode 100644 index 0000000000000000000000000000000000000000..70112cd75dbb5fc03682c794d6c14c376ffaba32 --- /dev/null +++ b/homework/week1/GO12018xuehongbo/c/main.go @@ -0,0 +1,13 @@ +package main + +import "fmt" + +func main() { + f1 := 0 + f2 := 1 + for { + f1, f2 = f2, (f1 + f2) + if f2 > 100 {break} + fmt.Println(f2) + } +} diff --git "a/homework/week2/GO12031\351\251\254\351\271\217\351\243\236/go.mod" "b/homework/week2/GO12031\351\251\254\351\271\217\351\243\236/go.mod" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/homework/week3/GO12018xuehongbo/1.text b/homework/week3/GO12018xuehongbo/1.text new file mode 100644 index 0000000000000000000000000000000000000000..9649d0d46d4d5730a7287f634c6a4abcdc7ff549 --- /dev/null +++ b/homework/week3/GO12018xuehongbo/1.text @@ -0,0 +1,12 @@ +1. +s1、s2内各自有什么元素 + s1 [ 0 0 0 ] + s2 [ 0 0 0 1 ] + +s1修改一个元素会影响s2吗? 会 +s2修改一个元素会影响s1吗? 会 + +s2再增加一个元素会怎样? + 会导致s2的指向的标头值{ pointer len cap } 中的pointer 指向地址发生改变 + s2 pointer 指向的数组在 [ 0 0 0 1] 的基层上 由于cap < 256 的条件,数组发生容量翻倍扩容成cap 8的新数组, [ 0 0 0 1 新元素 x x x ] + \ No newline at end of file diff --git a/homework/week3/GO12018xuehongbo/2/2.go b/homework/week3/GO12018xuehongbo/2/2.go new file mode 100644 index 0000000000000000000000000000000000000000..11b047d6c8023f5a4253b92bea90862a906f1eea --- /dev/null +++ b/homework/week3/GO12018xuehongbo/2/2.go @@ -0,0 +1,20 @@ +package main + +import ( + "fmt" +) + +var ( + s1 = []int{1, 4, 9, 16, 2, 5, 10, 15} +) + +func main() { + s2 := []int{} + for i := range s1 { + if i == len(s1)-1 { + break + } + s2 = append(s2, s1[i]+s1[i+1]) + } + fmt.Println(s2) +} diff --git a/homework/week3/GO12018xuehongbo/2/go.mod b/homework/week3/GO12018xuehongbo/2/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..b5b02c9de42e707828d9687326416e454210e5cf --- /dev/null +++ b/homework/week3/GO12018xuehongbo/2/go.mod @@ -0,0 +1,3 @@ +module hbxue.com/test + +go 1.20 diff --git a/homework/week3/GO12018xuehongbo/3/3.go b/homework/week3/GO12018xuehongbo/3/3.go new file mode 100644 index 0000000000000000000000000000000000000000..79e6dc4bc8a5fe8ef7e73aff70dabdd54e102227 --- /dev/null +++ b/homework/week3/GO12018xuehongbo/3/3.go @@ -0,0 +1,30 @@ +package main + +import ( + "fmt" + "math/rand" + "sort" +) + +func main() { + nums := []int{} + for i := 0; i < 100; i++ { + randNum := rand.Intn(201) - 100 + nums = append(nums, randNum) + } + // Output the generated 100 [-100, 100] random numbers + fmt.Printf("Random numbers are:\n %v\n", nums) + sort.Sort(sort.Reverse(sort.IntSlice(nums))) + fmt.Printf("Random numbers are:\n %v\n", nums) + countMap := make(map[int]int) + for _, v := range nums { + count := 1 + for num := range nums { + if v == num { + count += 1 + } + } + countMap[v] = count + } + fmt.Println(countMap) +} diff --git a/homework/week3/GO12018xuehongbo/3/go.mod b/homework/week3/GO12018xuehongbo/3/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..a1783d5c8e5171dc0473934d4fd1330baa69f104 --- /dev/null +++ b/homework/week3/GO12018xuehongbo/3/go.mod @@ -0,0 +1,3 @@ +module hbxue.com/test1 + +go 1.20