go语言中利用匿名函数和闭包实现文件名修改
生活随笔
收集整理的這篇文章主要介紹了
go语言中利用匿名函数和闭包实现文件名修改
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package mainimport ("fmt""strings"
)//利用匿名函數和閉包實現文件后綴修改
func makeSuffix(suffix string) func (string) string{return func (fileName string) string{//如果文件后綴不是以suffix結尾,則加上后綴,否則返回原文件名if !strings.HasSuffix(fileName, suffix) {return fileName + suffix}return fileName}
}func main(){f := makeSuffix(".jpg")fileName1 := "file.jpg"fileName2 := "file"fmt.Println(f(fileName1))fmt.Println(f(fileName2))
}
執行結果
file.jpg file.jpg說明
這里makeSuffix返回的匿名函數f和作為外部傳入的參數".jpg"共同構成了一個閉包,使得在傳入一次".jpg"的情況下可以重復使用,這就巧妙的用到了閉包中保留上次使用的值的特性替代了反復傳值的問題。
總結
以上是生活随笔為你收集整理的go语言中利用匿名函数和闭包实现文件名修改的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kubernetes二次开发--Oper
- 下一篇: Go语言接口(interface)简单应