Compare commits

...

6 Commits

Author SHA1 Message Date
0ac438deed 删除 .gitlab-ci.yml 2025-12-06 10:30:14 +00:00
bd4363b947 删除 .gitignore 2025-12-06 10:30:04 +00:00
qwq
0d06277c47 先睡觉了 2025-12-06 18:26:49 +08:00
65a2f34b7e 上传 2025-12-06 17:52:26 +08:00
6bd20511f7 数组索引基本懂了,头痛,感觉切片好难,下次再学一下,我先睡一下了 2025-11-22 10:52:55 +08:00
2a76fecb32 终于把基本数据类型看完了,头痛啊 2025-11-22 08:24:08 +08:00
8 changed files with 294 additions and 9 deletions

1
.gitignore vendored
View File

@@ -1 +0,0 @@
tmp

View File

@@ -1,6 +0,0 @@
build_job:
stage: build
script:
- echo "仅build分支执行CI流水线"
rules:
- if: '$CI_COMMIT_BRANCH == "build"'

View File

@@ -1,6 +1,9 @@
package main package main
import "fmt" import (
"fmt"
"math"
)
func main() { func main() {
type_() type_()
@@ -16,7 +19,7 @@ func type_() {
// uint + x // uint + x
// x 是比特的位数 // x 是比特的位数
var u8 uint8 = 255 var u8 uint8 = 255 //u 只能存正整数
// 0 0 0 0 0 0 0 0 = 0 // 0 0 0 0 0 0 0 0 = 0
// 1 1 1 1 1 1 1 1 = 2^8-1=255 // 1 1 1 1 1 1 1 1 = 2^8-1=255
fmt.Println(u8) fmt.Println(u8)
@@ -31,7 +34,69 @@ func type_() {
// 源码 补码 (取反=反码+1听不懂标记一下下次学 // 源码 补码 (取反=反码+1听不懂标记一下下次学
//###################################################### //######################################################
// 测试 64位上限
fmt.Print(math.Pow(2, 63))
var n1 int = 9223372036854775807
fmt.Println(n1)
//var n2 int = 9223372036854775808 error
//fmt.Println(n2)
// 浮点型
// float32
// float64
// 这两种
// 字符型
// 重点 byte单字节类型字符 rune多字节类型字符
var a byte = 'a' // ascii 里面的字符
fmt.Printf("%c %d\n",a, a) // %c 打印字符 %d 打印ascii位置
var a1 uint8 = 97
fmt.Printf("%c %d\n",a1, a1)
var z rune = '中' // int32
fmt.Printf("%c %d\n",z, z)
// 字符串型
var s string = "字符串是双引号\n"
fmt.Printf(s)
// 常见转译字符
fmt.Println("你好\t世界") // 空格
fmt.Println(" ‘你好’ 世界") // 单引号
fmt.Println(" \"你好\" 世界") // 双引号
fmt.Println("\n你好\n\n世界") // 换行符号
fmt.Println("C:\\Users\\SkimrMe\\Desktop\\sex_game\\") // 适用于windwos路径的输出
// 多行字符串 不能用转译字符
fmt.Print(`
今天 是
🥣 俄方片,,
个 好 日 子 ✅
∂ƒ¬ß¬πø´øø∑˚ßœ∑´®†¥˙¨∆˚∂ƒ©˙∆µ≈ç√∫˜µß∂ƒ©˙∆ß
`)
fmt.Println("隔开")
// 布尔类型的讲的好少听不懂,下次重新找教程
// 零值问题
// 如果我们给一个基本数据类型只声明不赋值 打印的是0或者false""
var q1 int
var q2 float32
var q3 string
var q4 bool
fmt.Printf("%#v\n", q1)
fmt.Printf("%#v\n", q2)
fmt.Printf("%#v\n", q3)
fmt.Printf("%#v\n", q4)
} }

25
5.数组索引.go Normal file
View File

@@ -0,0 +1,25 @@
package main
import "fmt"
func main() {
list_()
}
func list_() {
// 数组
var nameList [3]string = [3]string{"skimrme", "lukychen", "Qmeimei"}
fmt.Println(nameList)
// 索引
// "skimrme" "lukychen" "Qmeimei"
// 0 1 2 正向索引
// -3 -2 -1 负向索引
fmt.Println(nameList[0]) // 正向索引取值
fmt.Println(nameList[2])
fmt.Println(nameList[len(nameList)-2]) // 负向索引取值 go语言原则上不支持的骚操作
// 数组可被切换 但是仿佛是自上而下的
nameList[len(nameList)-2] = "123"
fmt.Println(nameList)
}

58
6.切片.go Normal file
View File

@@ -0,0 +1,58 @@
package main
import (
"fmt"
"sort"
)
func main() {
slice_()
}
func slice_() {
var nameList []string
nameList = append(nameList, "1")
nameList = append(nameList, "2")
fmt.Println(nameList[0])
var nameList1 []string
fmt.Println(nameList1 == nil)
// 初始化
var nameList2 []string = []string{}
/*
其他初始化的方法
var nameList2 = []string{}
nameList2 := []string{}
nameList2 = make([string], 0)
*/
nameList2 = append(nameList2, "1")
nameList2 = append(nameList2, "2")
fmt.Println(nameList2 == nil)
// make 函数
// 格式
//make([]type, length, capacity)
// 可以创建指定长度,指定容量的切片
ageList := make([]int, 3)
fmt.Println(ageList)
// 数组切片
array :=[3]int{1, 2, 3}
slices := array[:]
fmt.Println(slices)
fmt.Println(array[0:2])
fmt.Println(array[2:])
// 切片排序
var ints = []int{2, 4, 5, 2, 8, 0, 2, 5,}
sort.Ints(ints)
fmt.Println(ints) //  默认升序
sort.Sort(sort.Reverse(sort.IntSlice(ints))) // 降序
fmt.Println(ints)
}

54
7.map.go Normal file
View File

@@ -0,0 +1,54 @@
package main
import (
"fmt"
)
func main() {
map_()
}
func map_() {
var UserMap map [int]string = map[int]string{
1: "skimrme",
2: "neko",
3: "kami",
4: "",
}
fmt.Println(UserMap)
fmt.Println(UserMap[1], UserMap[2])
fmt.Println(UserMap[4]) // 可以读取没有的值
fmt.Printf("%#v\n", UserMap[5]) // 空字符串可以打印
// 判断值
//value := UserMap[4]
value, ok := UserMap[4]
fmt.Println(value,ok)
// false 所以没有
// 改变user
UserMap[1] = "lukychen"
fmt.Println(UserMap)
// 把kami踢出
delete(UserMap, 3)
fmt.Println(UserMap)
// map 初始化
// 1. var aMap = map[string]string{}
// 2. var aMap = make(map[string]string)
// 建立空初始化
var aMap = map[string]string{}
// 建立有值初始化
/*
var aMap = map[string]string{
"123": "12",
}
*/
//var aMap = map[string]string{}
aMap ["name"] = "skimrme"
fmt.Println(aMap)
}

60
8.if.go Normal file
View File

@@ -0,0 +1,60 @@
package main
import (
"fmt"
)
func main() {
if_1()
if_2()
}
func if_1() {
// 中断式 / 卫语句
var age int
fmt.Println("输入你的年龄/中断式")
n,err := fmt.Scan (&age) // 读取输入的年龄
fmt.Println(age,n,err) // 输出输入的年龄
if age <= 0 {
fmt.Println("骗傻子呢!!")
return
}
if age <= 18 {
fmt.Println("哇!!小盆友欸!!")
return
}
if age <= 35 {
fmt.Println("哇!!你竟然成年了啊!!!不信!!!")
return
}
fmt.Println("你过关!!!")
}
func if_2() {
// 嵌套式
var age int
fmt.Println("输入你的年龄")
n,err := fmt.Scan (&age) // 读取输入的年龄
fmt.Println(age,n,err) // 输出输入的年龄
if age <=18 {
if age <= 0 {
fmt.Println("没出生")
} else {
fmt.Println("未成年")
}
} else {
if age <= 35 {
fmt.Println("青年")
}
if age > 35 {
fmt.Println("包可以啊!!")
}
}
}

30
9.switch语句.go Normal file
View File

@@ -0,0 +1,30 @@
package main
import (
"fmt"
)
func main() {
switch_()
}
func switch_() {
var age int
fmt.Println("请输入你的年龄")
fmt.Scan(&age)
switch {
case age <= 0:
fmt.Println("你唬谁呢!!!")
case age <= 17:
fmt.Println("我不信!!!")
case age <= 20:
fmt.Println("里边请!!!")
fallthrough //  继续执行代码
case age <= 35:
fmt.Println("里边请!!!")
}
// 第二种用法
//var week int
}