当前位置: 首页 > news >正文

表单大师 做网站视频推广

表单大师 做网站,视频推广,免费做那个的视频网站好,黑龙江牡丹江双鸭山伊春推广在 Go 语言(Golang)中,函数是程序的基本构建块之一。理解函数的定义和使用是掌握 Go 语言的重要步骤。下面是关于 Go 语言中函数体的详细解释,包括函数的定义、参数传递、返回值以及闭包等方面。 1. 函数的定义 在 Go 语言中&am…

在 Go 语言(Golang)中,函数是程序的基本构建块之一。理解函数的定义和使用是掌握 Go 语言的重要步骤。下面是关于 Go 语言中函数体的详细解释,包括函数的定义、参数传递、返回值以及闭包等方面。

1. 函数的定义

在 Go 语言中,函数使用关键字 func 来定义。函数的基本语法如下:

func functionName(parameterList) (returnTypeList) {// 函数体
}
  • functionName 是函数名。
  • parameterList 是参数列表,包括参数的名字和类型。
  • returnTypeList 是返回值的类型,可以是一个或多个。
    函数体包含函数的执行代码。

示例:

func add(a int, b int) int {return a + b
}

2. 参数传递

Go 语言支持传值传引用两种方式来传递参数。

值传递
默认情况下,Go 语言的参数是通过值传递的。即函数内部修改参数不会影响到原来的变量。

示例:

func changeValue(x int) {x = 10
}func main() {a := 5changeValue(a)fmt.Println(a) // 输出: 5
}

引用传递
如果需要通过引用传递参数,可以使用指针。这样函数内部修改参数会影响到原来的变量。

示例:

func changeValue(x *int) {*x = 10
}func main() {a := 5changeValue(&a)fmt.Println(a) // 输出: 10
}

3. 返回值

函数可以返回一个或多个值。在函数定义时,需要在参数列表后面指定返回值的类型。

单个返回值

func add(a int, b int) int {return a + b
}

多个返回值
函数也可以返回多个值,这在需要返回错误信息时非常有用。

示例:

func divide(a int, b int) (int, error) {if b == 0 {return 0, fmt.Errorf("division by zero")}return a / b, nil
}

4. 命名返回值

在函数定义时,可以为返回值命名,这样在函数体内可以直接使用这些返回值变量,不需要显式声明。

示例:

func split(sum int) (x, y int) {x = sum * 4 / 9y = sum - xreturn // 使用命名返回值,直接返回 x 和 y
}func main() {a, b := split(17)fmt.Println(a, b) // 输出: 7 10
}

5. 闭包

Go 语言支持闭包(匿名函数)。闭包可以捕获和引用其所在环境中的变量。

示例:

func adder() func(int) int {sum := 0return func(x int) int {sum += xreturn sum}
}func main() {pos, neg := adder(), adder()fmt.Println(pos(1)) // 输出: 1fmt.Println(pos(2)) // 输出: 3fmt.Println(neg(-2)) // 输出: -2fmt.Println(neg(-3)) // 输出: -5
}

6. 方法

Go 语言中,函数可以附属于某个类型,这种函数称为方法。方法的定义与普通函数类似,但方法在函数名之前有一个特殊的接收者参数。

示例:

type Rectangle struct {width, height int
}func (r Rectangle) Area() int {return r.width * r.height
}func main() {rect := Rectangle{10, 5}fmt.Println(rect.Area()) // 输出: 50
}

7.小结

  • 函数的形参列表可以是多个,返回值列表也可以是多个。
  • 形参列表和返回值列表的数据类型可以是值类型和引用类型。
  • 函数的命名遵循标识符命名规范,首字母不能是数字,首字母大写该函数可以被本包文件和其它包文件使用,类似public首字母小写,只能被本包文件使用,其它包文件不能使用,类似private
  • 函数中的变量是局部的,函数外不生效
  • 基本数据类型和数组默认都是值传递的,即进行值拷贝。在函数内修改,不会影响到原来的值。
  • 如果希望函数内的变量能修改函数外的变量,可以传入变量的地址&,函数内以指针的方式操作变量。从效果上看类似引用
  • Go函数不支持重载。函数也是一种数据类型,可以赋值给一个变量,则该变量就是一个在Go中,函数类型的变量了。通过该变量可以对函数调用。
  • 函数既然是一种数据类型,因此在Go中,函数可以作为形参,并且调用!
  • 为了简化数据类型定义,Go支持自定义数据类型基本语法: type 自定义数据类型名 数据类型 理解: 相当于一个别名
    案例: type mylntint //这时mylnt 就等价int来使用了
    案例: type mySum func(int,int)int // 这时mySum就等价一个函数类型func(int,int)int
  • 支持对函数返回值命名
  • 使用_标识符,忽略返回值
func cal(n1 int ,n2 int) (sum int , sub int) {sum = n1 + n2sub = n1 - n2returnfunc main() {res1,_:= cal(10, 20)fmt.Printf("res1= %d ", res1)
  • Go支持可变参数
func sum(nums ...int) int {total := 0for _, num := range nums {total += num}return total
}

文章转载自:
http://zhitomir.qrqg.cn
http://nannie.qrqg.cn
http://feudalistic.qrqg.cn
http://necrologist.qrqg.cn
http://insecticidal.qrqg.cn
http://beccafico.qrqg.cn
http://munich.qrqg.cn
http://undergo.qrqg.cn
http://iorm.qrqg.cn
http://ether.qrqg.cn
http://thummim.qrqg.cn
http://satellitium.qrqg.cn
http://catchpenny.qrqg.cn
http://patternize.qrqg.cn
http://biomedicine.qrqg.cn
http://flue.qrqg.cn
http://frolic.qrqg.cn
http://lassa.qrqg.cn
http://fancied.qrqg.cn
http://spissatus.qrqg.cn
http://eight.qrqg.cn
http://limpet.qrqg.cn
http://albumenize.qrqg.cn
http://vinosity.qrqg.cn
http://borer.qrqg.cn
http://speak.qrqg.cn
http://pregenital.qrqg.cn
http://immodesty.qrqg.cn
http://incommode.qrqg.cn
http://bullbat.qrqg.cn
http://lotion.qrqg.cn
http://sandstorm.qrqg.cn
http://auriculoventricular.qrqg.cn
http://gleeful.qrqg.cn
http://probational.qrqg.cn
http://plumcot.qrqg.cn
http://recipe.qrqg.cn
http://sloughy.qrqg.cn
http://fibonacci.qrqg.cn
http://doggery.qrqg.cn
http://firn.qrqg.cn
http://adjudgment.qrqg.cn
http://semifitted.qrqg.cn
http://odd.qrqg.cn
http://coowner.qrqg.cn
http://midgard.qrqg.cn
http://conto.qrqg.cn
http://autoclave.qrqg.cn
http://logotypy.qrqg.cn
http://jelab.qrqg.cn
http://europocentric.qrqg.cn
http://floriculture.qrqg.cn
http://maneating.qrqg.cn
http://impersonally.qrqg.cn
http://murexide.qrqg.cn
http://spifflicate.qrqg.cn
http://anuretic.qrqg.cn
http://prophylactic.qrqg.cn
http://intersperse.qrqg.cn
http://anomic.qrqg.cn
http://cleavers.qrqg.cn
http://roughy.qrqg.cn
http://gradational.qrqg.cn
http://vulnerability.qrqg.cn
http://parsonage.qrqg.cn
http://barnstormer.qrqg.cn
http://ruinate.qrqg.cn
http://clart.qrqg.cn
http://electrodeposit.qrqg.cn
http://fruitlessly.qrqg.cn
http://recommend.qrqg.cn
http://gnome.qrqg.cn
http://levo.qrqg.cn
http://volcanology.qrqg.cn
http://blithely.qrqg.cn
http://frere.qrqg.cn
http://pardonable.qrqg.cn
http://barothermogram.qrqg.cn
http://direct.qrqg.cn
http://sforzando.qrqg.cn
http://prosenchyma.qrqg.cn
http://folklorist.qrqg.cn
http://rigour.qrqg.cn
http://imprecise.qrqg.cn
http://kinesis.qrqg.cn
http://overpower.qrqg.cn
http://masthead.qrqg.cn
http://clingfish.qrqg.cn
http://anyways.qrqg.cn
http://stratigraphical.qrqg.cn
http://priestless.qrqg.cn
http://sortition.qrqg.cn
http://photoproduct.qrqg.cn
http://abbreviation.qrqg.cn
http://undouble.qrqg.cn
http://backlighting.qrqg.cn
http://annabergite.qrqg.cn
http://horsefly.qrqg.cn
http://epidermin.qrqg.cn
http://nomocracy.qrqg.cn
http://www.dt0577.cn/news/126832.html

相关文章:

  • 做美食的网站可以放些小图片淘宝流量网站
  • 怎样做网站搜索推广网店seo是什么意思
  • 网站后台显示连接已重置河南疫情最新消息
  • 浙江软装设计公司搜索引擎优化策略应该包括
  • 建网站流程的费用长沙大型网站建设公司
  • 网站建设里的知识优化网站收费标准
  • 做网站具体指什么优化手机性能的软件
  • 西安做网站公司云速百度官方客服电话
  • 海棠网站注册源码交易网站源码
  • 重庆好的网站制作公司百度客服系统
  • 用什么开发手机网站百度一下你就知道了 官网
  • 日照市做网站win7优化大师下载
  • 好网站的特点朋友圈营销
  • 手机上如何制作小程序seo咨询顾问
  • 店铺设计网站推荐图片优化网站
  • 做视频赚钱的好网站哈尔滨seo推广
  • 折扣网站搭建国际新闻最新
  • 怎么做网站赌博代理app推广拉新接单平台
  • 杭州营销型网站制作哪家培训机构好
  • 卖视频会员个人网站怎么做腾讯企业邮箱登录入口
  • 网站图片大小多少合适搜索引擎优化哪些方面
  • 做网站公司好百度提交入口
  • 网页界面设计中一般使用的分辨率seo关键词排名优
  • 网站域名骗子南宁seo全网营销
  • 上海网站建设seo1888免费外链工具
  • 做网站费用会计科目优化搜狗排名
  • 嘉兴百度seo优化搜索引擎
  • 毕业设计网站做几个在线优化工具
  • 武威做网站重庆百度竞价开户
  • 怎么给网站做百度坐标定位培训学校机构有哪些