包引入:
使用包的原因:
如何引入:
package main
import (
"basics/src/bao" // 这里是引入文件所在包的路径
"fmt"
)
func main() {
fmt.Println("A")
bao.Get() // 这里是文件名.函数名
}
utils包
package bao // 这里尽量可以和包名一样
import "fmt"
func Get() {
fmt.Println("get")
}
取别名方式导入包:
package main
import (
utils "basics/src/bao" // 这里是引入文件所在包的路径
"fmt"
)
func main() {
fmt.Println("A")
utils.Get() // 这里是文件名.函数名
}
闭包:
// b只会初始化一次,一直到结束,中间都是累加的
func main() {
f := test()
fmt.Println(f(1)) //把1穿给b
fmt.Println(f(2))
fmt.Println(f(3))
}
// test方法用于计算
func test() func(int) int {
a := 0
return func(b int) int {
a += b
return a
}
}
闭包应用:
func main() {
f := file(".png")
fmt.Println(f("aaa"))
}
func file(f string) func(string) string {
return func(fileName string) string {
if !strings.HasPrefix(fileName, f) {
return fileName + f
}
return fileName
}
}