func和init示例

This commit is contained in:
wandoubaba 2024-11-14 17:45:27 +08:00
parent 885b864baf
commit f0a317e4a5
6 changed files with 98 additions and 0 deletions

60
bilibili/src/func/test.go Normal file
View File

@ -0,0 +1,60 @@
package main
import "fmt"
func foo1(a string, b int) int {
fmt.Println("a = ", a)
fmt.Println("b = ", b)
c := 100
return c
}
func foo2(a string, b int) (int, int) {
fmt.Println("a = ", a)
fmt.Println("b = ", b)
return 666, 777
}
func foo3(a string, b int) (r1 int, r2 int) {
fmt.Println("---- foo3 ----")
fmt.Println("a = ", a)
fmt.Println("b = ", b)
fmt.Println("r1 = ", r1)
fmt.Println("r2 = ", r2)
// 给有名称的返回值变量赋值
r1 = 1000
r2 = 2000
return
}
func foo4(a string, b int) (r1, r2 int) {
fmt.Println("---- foo4 ----")
fmt.Println("a = ", a)
fmt.Println("b = ", b)
// 给有名称的返回值变量赋值
r1 = 1000
r2 = 2000
return
}
func main() {
c := foo1("abc", 555)
fmt.Println("c = ", c)
ret1, ret2 := foo2("haha", 999)
fmt.Println("ret1 = ", ret1, ", ret2 = ", ret2)
re1, re2 := foo3("foo3", 333)
fmt.Println("re1 = ", re1, ", re2 = ", re2)
res1, res2 := foo4("foo4", 333)
fmt.Println("res1 = ", res1, ", res2 = ", res2)
}

3
bilibili/src/init/go.mod Normal file
View File

@ -0,0 +1,3 @@
module init
go 1.23

View File

@ -0,0 +1,12 @@
package lib1
import "fmt"
// 当前lib1包提供的API
func Lib1Test() {
fmt.Println("Lib1Test.")
}
func init() {
fmt.Println("lib1. init() ...")
}

View File

@ -0,0 +1,12 @@
package lib2
import "fmt"
// 当前lib2包提供的API
func Lib2Test() {
fmt.Println("Lib2Test.")
}
func init() {
fmt.Println("lib2. init() ...")
}

11
bilibili/src/init/main.go Normal file
View File

@ -0,0 +1,11 @@
package main
import (
"init/lib1"
"init/lib2"
)
func main() {
lib1.Lib1Test()
lib2.Lib2Test()
}