标签:message class bsp 关键字 cfs 自定义 定义类 == ESS
函数构成了代码执行的逻辑结构,在Go语言中,函数的基本组成为:关键字 func、函数名、参数列表、返回值、函数体和返回语句,每一个程序都包含很多的函数,函数是基本的代码块。
// 没有返回值的函数 func log(message string) { } // 有一个返回值的函数 func add(a , b int) int { return var1 } // 有多个返回值的函数 func power(name string) (int, bool) { return var1,var2 } // 给返回值 命名 func add(a, b int) (c int) { c = a + b return c }
多返回值函数的使用
func main() { a := 0 b := 0 a, b = addAndMultiply(10, 20) fmt.Println("a=", a) fmt.Println("b=", b) } func addAndMultiply(a, b int) (int, int) { return a + b, a * b }
package main import "fmt" import "strings" func main() { str := strToCase("ABDCFSDFE", processLetter) fmt.Println(str) } //将函数作为参数 func strToCase(str string, myfunc func(string) string) string { return myfunc(str) } //字符串奇偶交替 func processLetter(str string) (result string) { for i, value := range str { if i%2 == 0 { result += strings.ToUpper(string(value)) } else { result += strings.ToLower(string(value)) } } return result }
使用 type自定义类型
package main import "fmt" import "strings" func main() { str := strToCase("ABDCFSDFE", processLetter) fmt.Println(str) } //将函数作为参数(使用type定义的参数类型) func strToCase(str string, myfunc processLetterFunc) string { return myfunc(str) } //使用type 为processLetter() 函数定义类型 type processLetterFunc func(string) string //字符串奇偶交替 func processLetter(str string) (result string) { for i, value := range str { if i%2 == 0 { result += strings.ToUpper(string(value)) } else { result += strings.ToLower(string(value)) } } return result }
1、局部变量与全局变量同名时,局部变量优先
//全局变量 var num int = 100 var num2 int = 200 func main() { num, num2 := 1, 2 fmt.Println("num=", num) // num=1 fmt.Println("num2=", num2)// num2=2 }
标签:message class bsp 关键字 cfs 自定义 定义类 == ESS
原文地址:https://www.cnblogs.com/jalja/p/11768868.html