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

网站新闻打不开wordpress设为中文

网站新闻打不开,wordpress设为中文,电子商务网站建设简答题,影楼修图用什么软件函数我们一直都在使用,但是还是有很多细节的内容需要深入了解一下,方便后续的编码实践。 函数定义: func 函数名([参数列表]) [返回值] { 函数体 } func add(a int, b int) int {return a b } 基本概念: 函数签名&#xff0…

        函数我们一直都在使用,但是还是有很多细节的内容需要深入了解一下,方便后续的编码实践。

函数定义:

func 函数名([参数列表]) [返回值] {
  函数体
}

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

基本概念:

  • 函数签名(Function Signature)

        包含函数名、参数列表(参数的类型和顺序)以及返回值类型。在示例中add(a int, b int) int就是函数签名。它定义了函数的外部接口,让调用者知道如何正确调用该函数。add是函数名,(a int, b int)是参数列表,表明函数接受两个int类型的参数,最后的int表示函数返回一个int类型的值。

  • 形参(Formal Parameter)

        函数定义中声明的参数,在函数体内部使用,用来接收调用函数时传入的值。这里的ab就是形参,它们是函数体中参与运算的变量占位符。

  • 实参(Actual Parameter)

        调用函数时传递给函数的实际值。在调用add函数时传入的35就是实参,它们会按照顺序传递给对应的形参ab

  • 函数体

        包含实现函数功能的具体代码。在这个例子中,先将 a 和 b 相加的结果赋值给 result,然后返回 result。函数体实现了函数具体要执行的操作

  • 返回值(Return Value)

        函数执行完成后返回给调用者的值。在add函数中,a + b的计算结果就是返回值,调用者可以获取这个值进行后续操作。

函数常见用法

作为方法被调用:

调用导出的方法:

例如,我们经常hi用的 print 族方法,被实现在 fmt 包里面。

package mainimport "fmt"func main() {fmt.Println("调用 fmt 中的 Println()")
}

调用内部的方法:

例如, 在 main 包内部实现一个 add 方法,在main函数里被调用。

package mainimport "fmt"func add(a...int) int {sum := 0for _, v := range a {sum += v}return sum
}func main() {sum := add(1,2,3,4,5,6,7,8,9,10)fmt.Println("计算1-10的累加和 : ", sum)
}

这里还涉及到了函数的变参,就不再单独介绍了。这一点也很重要用法

重点需要注意:

    这里的入参的类型值得注意,是一个切片

    变参要放到最后一个参数

    变参中 interface{} 的使用,可以表示任意类型

多返回值的使用:

Go 语言支持函数返回多个值,常见的使用方式是返回结果(一个或多个值)加上错误信息。

package mainimport "fmt"func div(a, b int) (v int, err string) {if b == 0 {err = "attempt to divide integer by 0"return }v = a / breturn 
}func main() {a := 10b := 0result, err := div(a, b)if err != nil {fmt.Println(err)} else {fmt.Printf("%d/%d = %d\n", a, b, result)}a = 10b = 5result, err := div(a, b)if err != nil {fmt.Println(err)} else {fmt.Printf("%d/%d = %d\n", a, b, result)}    
}

值得注意的是,我这个例子里,我给返回值命名了,所以在函数退出的时候,我就直接写了一个 return 语句。如果没有命名的化,请看下面的例子。

package mainimport "fmt"func div(a, b int) (int, string) {if b == 0 {return 0, "attempt to divide integer by 0"}return a/b, nil
}func main() {a := 10b := 0result, err := div(a, b)if err != nil {fmt.Println(err)} else {fmt.Printf("%d/%d = %d\n", a, b, result)}a = 10b = 5result, err := div(a, b)if err != nil {fmt.Println(err)} else {fmt.Printf("%d/%d = %d\n", a, b, result)}    
}

函数可作为参数或返回值:

这一点也很容易理解,既然可以作为参数亦可以作为返回值,所以就用一个例子介绍一下如何使用。

package mainimport ("fmt""math/rand""time"
)// partition函数用于将切片按照基准元素进行划分
func partition(v []int, left, right int) int {// 随机化选择基准元素pivotIndex := left + rand.Intn(right - left + 1)v[pivotIndex], v[right] = v[right], v[pivotIndex]pivot := v[right]i := left - 1for j := left; j < right; j++ {if v[j] <= pivot {i++v[i], v[j] = v[j], v[i]}}v[i + 1], v[right] = v[right], v[i + 1]return i + 1
}func qsort(v []int, left, right int) {if left < right {index := partition(v, left, right)qsort(v, left, index - 1)qsort(v, index + 1, right)}
}func create_qsort_func(f func ([]int, int, int) int) func([]int) {quickSort := func(v []int) {left := 0right := len(v) - 1if left < right {index := f(v, left, right)qsort(v, left, index - 1)qsort(v, index + 1, right)}return quickSort
}  func main() {rand.Seed(time.Now().UnixNano())nums := []int{3, 6, 8, 10, 1, 2, 1}qsort(nums, 0, len(nums) - 1)fmt.Println(nums)quickSort := create_qsort_func(partition)v := []int{3,9,8,4,2,6,7,1,2,5}quickSort(v)fmt.Println(v)
}

这个示例里面也涵盖了好几种函数的使用示例:

1. 匿名函数: 在 create_qsort_func 函数中,我创建了一个匿名函数

2. 返回值是函数:在 create_qsort_func 函数中,最后将匿名函数返回

3. 函数作为参数:在 create_qsort_func 函数中,入参是一个函数 partition


文章转载自:

http://358LO67W.bptpq.cn
http://eAJDOJ0F.bptpq.cn
http://wiwofe3Q.bptpq.cn
http://cx8vOcHt.bptpq.cn
http://Nifpk2aA.bptpq.cn
http://0tq9uIDU.bptpq.cn
http://7XICmCxk.bptpq.cn
http://ZdzFIkCE.bptpq.cn
http://bntmWcox.bptpq.cn
http://TAMOYVpX.bptpq.cn
http://pw3YrHN7.bptpq.cn
http://3PORnDdF.bptpq.cn
http://wEGry4SL.bptpq.cn
http://ctiiCB4m.bptpq.cn
http://BeQ3K399.bptpq.cn
http://7M0Lpcnv.bptpq.cn
http://MyVrWf4i.bptpq.cn
http://3DYnD06i.bptpq.cn
http://qkMzvNAc.bptpq.cn
http://eNGbiszV.bptpq.cn
http://EkT6SJZq.bptpq.cn
http://RELQ2Dc7.bptpq.cn
http://NrBQTQWV.bptpq.cn
http://FkjrCx2A.bptpq.cn
http://PRhqyb5A.bptpq.cn
http://362xj8Ba.bptpq.cn
http://HdVGgQMo.bptpq.cn
http://vejPjfUR.bptpq.cn
http://qHULeeKm.bptpq.cn
http://p0LkU4wm.bptpq.cn
http://www.dtcms.com/wzjs/713381.html

相关文章:

  • 好乐买网站推广方式登不了wordpress
  • 网站制作企业有哪些公司wordpress主题 cms
  • 北京注册建设公司网站重庆建设工程信息网查询系统
  • 微信推广多少钱一次绍兴seo优化
  • 做网站开发工资怎样怎么下载别人网站模板
  • 改版网站会影响百度网站建设-选猴王网络
  • 杭州网站建设设计制作flash网站首页
  • 肇庆网站建设优化宁波市余姚建设局网站
  • 网站名称怎样做c 做视频网站
  • 湖北长安建设集团股份有限公司网站网站制作 福宁网络有限公司
  • 高职两学一做专题网站网站app建设
  • 惠州市网站制作有限公司wordpress 自带评论
  • 泰安网站建设入门推荐郴州网站建设哪个好
  • 中商外贸网站百度应用商店app下载
  • 新开传奇发布网站wordpress edu2.0
  • 服装商城的网站策划书seo引擎优化服务
  • 房地产门户网站建设网络营销师资格证报名
  • 企业网站包含的要素国外建筑设计网站推荐
  • 上海网站建设公司网站北京网站优化步骤
  • 做旅行网站好centos wordpress 500
  • 花都电子商务网站建设cnnic 是什么网站
  • 网站logo更换网站后台动态播放怎么做的
  • 网站建设方案案例榆林建设局网站
  • seo网站关键词快速排名html5 手机网站 模板
  • 网站做支付功能深圳闭环转运
  • 安防网站建设个人简历电子版免费
  • 网站怎么企业备案信息查询阳江人社局官网招聘
  • 广东注册公司在哪个网站申请家装设计师一定要懂软装吗
  • 0基础多久学会网站架构临淄网站制作首选公司
  • 石家庄网站制作公司哪家好网站录屏可以做证据吗