Compare commits
14 Commits
7272017f7d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ac438deed | |||
| bd4363b947 | |||
|
|
0d06277c47 | ||
| 65a2f34b7e | |||
| 6bd20511f7 | |||
| 2a76fecb32 | |||
| 2a5a23bffd | |||
| a81d851ec8 | |||
| 97e657f4ad | |||
| ebd098db4d | |||
| 4bb84a9f4c | |||
| ab888e6be4 | |||
| 02b69b2e5a | |||
| 4418c9a1b5 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
tmp
|
|
||||||
102
4.基本数据类型.go
Normal file
102
4.基本数据类型.go
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
type_()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
func type_() {
|
||||||
|
var age int = 12 // 设定类型为数字
|
||||||
|
fmt.Println(age)
|
||||||
|
|
||||||
|
var text = "Hello mfk\n" // 自动识别类型
|
||||||
|
fmt.Printf(text)
|
||||||
|
|
||||||
|
// uint + x
|
||||||
|
// x 是比特的位数
|
||||||
|
var u8 uint8 = 255 //u 只能存正整数
|
||||||
|
// 0 0 0 0 0 0 0 0 = 0
|
||||||
|
// 1 1 1 1 1 1 1 1 = 2^8-1=255
|
||||||
|
fmt.Println(u8)
|
||||||
|
// int8 支持正负数
|
||||||
|
// 0 0 0 0 0 0 0 0 = 1
|
||||||
|
// 0 1 1 1 1 1 1 1 = 2^(8-1)-1=127 // 一个比特位区分正负了
|
||||||
|
|
||||||
|
// 1 0 0 0 0 0 0 1 = -1 负数的最大值
|
||||||
|
// 1 0 0 0 0 0 0 0 = -128
|
||||||
|
|
||||||
|
//######################################################
|
||||||
|
// 源码 补码 (取反=反码+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
25
5.数组索引.go
Normal 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
58
6.切片.go
Normal 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
54
7.map.go
Normal 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
60
8.if.go
Normal 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
30
9.switch语句.go
Normal 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
|
||||||
|
}
|
||||||
@@ -5,3 +5,5 @@
|
|||||||
目前正在学习两个视频
|
目前正在学习两个视频
|
||||||
- https://www.bilibili.com/video/BV14Cetz4E43 (8小时带你快速入门Go语言)
|
- https://www.bilibili.com/video/BV14Cetz4E43 (8小时带你快速入门Go语言)
|
||||||
- https://www.bilibili.com/video/BV1gJ411p7xC (【最新Go Web开发教程】基于gin框架和gorm的web开发实战 (七米出品))
|
- https://www.bilibili.com/video/BV1gJ411p7xC (【最新Go Web开发教程】基于gin框架和gorm的web开发实战 (七米出品))
|
||||||
|
|
||||||
|
迁移git后的提交测试
|
||||||
Reference in New Issue
Block a user