0
点赞
收藏
分享

微信扫一扫

Goland——包引入和闭包

芒果六斤半 2022-02-19 阅读 65

包引入:

使用包的原因:

如何引入:

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
	}
}
举报

相关推荐

闭包和递归

闭包和引用

闭包

JS 闭包和继承

Scala 闭包

0 条评论