'init'
This commit is contained in:
45
main/defers.go
Normal file
45
main/defers.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func t() error {
|
||||
a := 10
|
||||
b := 5
|
||||
if b == 0 {
|
||||
|
||||
return errors.New("除数不能为零")
|
||||
|
||||
} else {
|
||||
res := a / b
|
||||
fmt.Println(res)
|
||||
|
||||
return nil
|
||||
}
|
||||
}
|
||||
func main() {
|
||||
err := t()
|
||||
if err != nil {
|
||||
fmt.Println("自定义错误")
|
||||
//停止后面程序继续执行
|
||||
panic(err)
|
||||
}
|
||||
fmt.Println("继续执行")
|
||||
|
||||
var scores [5]int
|
||||
scores[0] = 10
|
||||
scores[1] = 10
|
||||
scores[2] = 30
|
||||
scores[3] = 40
|
||||
for i := 0; i < len(scores); i++ {
|
||||
fmt.Println(scores[i])
|
||||
fmt.Scanln(&scores[i])
|
||||
}
|
||||
//索引用key接收 value用于里面的值
|
||||
for key, value := range scores {
|
||||
fmt.Println(key, value)
|
||||
|
||||
}
|
||||
}
|
||||
20
main/der.go
Normal file
20
main/der.go
Normal file
@@ -0,0 +1,20 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
var book Book
|
||||
book.auth = "1u1"
|
||||
book.name = "aihda"
|
||||
changebook(&book)
|
||||
fmt.Println(book)
|
||||
|
||||
}
|
||||
func changebook(book *Book) {
|
||||
book.auth = "77"
|
||||
}
|
||||
|
||||
type Book struct {
|
||||
name string
|
||||
auth string
|
||||
}
|
||||
34
main/p1.go
Normal file
34
main/p1.go
Normal file
@@ -0,0 +1,34 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
type Student struct {
|
||||
Name string
|
||||
}
|
||||
|
||||
// 函数
|
||||
func mthod(s Student) {
|
||||
fmt.Println(s.Name)
|
||||
}
|
||||
|
||||
func mthod1(s *Student) {
|
||||
fmt.Println((*s).Name)
|
||||
}
|
||||
func (s *Student) test02() {
|
||||
fmt.Println(s.Name)
|
||||
}
|
||||
func main() {
|
||||
var stu = Student{"笑傲"}
|
||||
mthod(stu)
|
||||
mthod1(&stu)
|
||||
(&stu).test02()
|
||||
var s = Student{
|
||||
Name: "xio",
|
||||
}
|
||||
fmt.Println(s)
|
||||
var s3 *student = &student{
|
||||
age: 19,
|
||||
}
|
||||
fmt.Println(s3)
|
||||
|
||||
}
|
||||
26
main/pg.go
Normal file
26
main/pg.go
Normal file
@@ -0,0 +1,26 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
var a [7]int = [7]int{4, 5, 6, 6, 4, 7, 7}
|
||||
var slice []int = a[2:4]
|
||||
fmt.Println(len(slice))
|
||||
slice2 := append(slice, 55, 55)
|
||||
fmt.Println(slice2)
|
||||
fmt.Println(len(slice2))
|
||||
//默认分配10个空间
|
||||
var ip map[int]string
|
||||
//key不能重复,前面会替换后面那个 value 可以重复
|
||||
ip = make(map[int]string, 10)
|
||||
ip[103883] = "张三"
|
||||
ip[173718] = "李四"
|
||||
|
||||
ip[173718] = "李"
|
||||
fmt.Println(ip)
|
||||
//查找
|
||||
value, flag := ip[103883]
|
||||
fmt.Println(value)
|
||||
fmt.Println(flag)
|
||||
fmt.Println(len(ip))
|
||||
}
|
||||
22
main/pp.go
Normal file
22
main/pp.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
tes()
|
||||
|
||||
}
|
||||
|
||||
func tes() int {
|
||||
//利用defer+recover来捕获错误:defer加匿名函数调用
|
||||
defer func() {
|
||||
err := recover()
|
||||
if err != nil {
|
||||
fmt.Println("错误已经捕获")
|
||||
fmt.Println(err)
|
||||
}
|
||||
}()
|
||||
num02 := 10
|
||||
num01 := 0
|
||||
return num02 / num01
|
||||
}
|
||||
22
main/project.go
Normal file
22
main/project.go
Normal file
@@ -0,0 +1,22 @@
|
||||
package main
|
||||
|
||||
import "fmt" //导入别的包 先执行别的包里面 再执行自己包里面
|
||||
|
||||
//做变量初始化
|
||||
|
||||
// 后是 init函数 全局变量再执行,main函数调用
|
||||
|
||||
var num int = test()
|
||||
|
||||
func test() int {
|
||||
fmt.Println("test")
|
||||
return 10
|
||||
}
|
||||
func init() {
|
||||
fmt.Println("1")
|
||||
|
||||
}
|
||||
func main() {
|
||||
fmt.Println("2")
|
||||
|
||||
}
|
||||
35
main/pt.go
Normal file
35
main/pt.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func main() {
|
||||
//创建对象实例
|
||||
var T teacher = teacher{}
|
||||
T.Name = "dakjda"
|
||||
fmt.Println(T)
|
||||
//使用指针创建对象
|
||||
var t *teacher = new(teacher)
|
||||
(*t).school = "没用"
|
||||
(*t).age = 19
|
||||
fmt.Println(t)
|
||||
var s student
|
||||
var p person
|
||||
s = student(p)
|
||||
fmt.Println(s)
|
||||
}
|
||||
|
||||
// 定义结构体 方便内存管理
|
||||
type teacher struct {
|
||||
Name string
|
||||
age int64
|
||||
school string
|
||||
}
|
||||
|
||||
type student struct {
|
||||
age int
|
||||
}
|
||||
type person struct {
|
||||
age int
|
||||
}
|
||||
21
main/pu.go
Normal file
21
main/pu.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func main() {
|
||||
//定义切片:make函数的三个参数:1.切片类型。2.切片的长度
|
||||
slice := make([]int, 4, 20)
|
||||
fmt.Println(slice)
|
||||
fmt.Println(len(slice))
|
||||
fmt.Println(cap(slice))
|
||||
slice[0] = 66
|
||||
slice[1] = 88
|
||||
slice1 := []int{3, 4, 5}
|
||||
fmt.Println(slice1)
|
||||
//按照数组的方式操作
|
||||
for key, value := range slice1 {
|
||||
fmt.Println(key, value)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user