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

做鞋的垂直网站seo是什么意思 seo是什么职位

做鞋的垂直网站,seo是什么意思 seo是什么职位,怎样自学做网站需要多少钱,地税网站如何做税种确认目录 函数返回多个值 init函数和import init函数 main函数 函数的参数 值传递 引用传递(指针) 函数返回多个值 用法如下: package mainimport ("fmt""strconv" )// 返回多个返回值,无参数名 func Mu…

目录

函数返回多个值

init函数和import

init函数

main函数

函数的参数

值传递

引用传递(指针)


函数返回多个值

用法如下:

package mainimport ("fmt""strconv"
)// 返回多个返回值,无参数名
func MultFunc1(a int, b int) (int, string) {a = a + 1b = b + 1//数字转字符串itoa := strconv.Itoa(b)return a, itoa}// 返回多个返回值,有参数名
func MultFunc2(a int, b int) (r1 int, r2 int) {//形参有默认值 是0fmt.Println("形参r1: ", r1, "r2: ", r2)r1 = a + 1r2 = b + 1return}func MultFunc3(a int, b int) (int, int) {a = a + 1b = b + 1return a, b}func main() {var a, b = MultFunc1(1, 2)fmt.Println("a=", a, "b=", b)var c, d = MultFunc2(3, 4)fmt.Println("c=", c, "d=", d)var e, f = MultFunc3(5, 6)fmt.Println("e=", e, "f=", f)
}

形参是有默认值的 0 ""(空串) false 

init函数和import

init函数

init函数可以在package main 中,可在其他package中,可在同一个package中出现多次

main函数

main 函数只能在package main中。

执行顺序

golang中有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能用于package main)。这两个函数在定义的时候不能有任何的返回值和参数

虽然package里面可以写任意多个init函数,但这无论是对于可读性还是以后的可维护性来说都是不方便的,所以建议用户在一个package中每个文件只写一个init函数。

程序的初始化和执行都始于main包

如果main包还导入了其它的包,那么就会在编译时将它们依次导入。有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到fmt包,但它只会被导入一次,因为没有必要导入多次)。

当一个包被导入时,如果该包还导入了其它的包,那么会先将其它包导入进来,然后再对这些包中的包级常量和变量进行初始化,接着执行init函数(如果有的话),依次类推。

等所有被导入的包都加载完毕了,就会开始对main包中的包级常量和变量进行初始化,然后执行main包中的init函数(如果存在的话),最后执行main函数。下图详细地解释了整个执行过程:

测试例子

代码结构如下

Lib1.go

package lib1import "fmt"func init() {fmt.Print("我是lib1")
}func Lib1Test() {fmt.Println("lib1Test")
}

Lib2.go

package lib2import ("fmt"
)func init() {fmt.Print("我是Lib2")
}
func Lib2Test() {fmt.Println("lib2Test")
}

main.go

注意:如果文中没有使用,就需要家一个_

package mainimport ("fmt""goProject/aaa/lib1""goProject/aaa/lib2"
)func init() {fmt.Print("我是Lib3.go")
}func main() {lib1.Lib1Test()lib2.Lib2Test()}

注意看打印的结果

输出的顺序与我们上面图给出的顺序是一致的

函数的参数

函数如果使用参数,该变量可称为函数的形参

形参就像是定义在函数体内的局部变量

调用函数,可以通过两种方式传递参数:

值传递

值传递是指在调用函数的时候将实际的参数复制一份传递到函数中,这样在函数中如果对参数进行修改,则不会影响到实际的参数。

默认情况下,Go 语言使用的是值传递,即在调用过程中不会影响到实际参数。

下面使用一个经典的案例:两数交换

package mainimport "fmt"// 值传递
func Swap1(a int, b int) {var temp = aa = bb = temp}// 引用传递
func Swap2(a *int, b *int) {var temp = *a*a = *b*b = temp}func main() {a := 1b := 2Swap1(a, b)fmt.Println("值传递 a=", a, "b=", b)Swap2(&a, &b)fmt.Println("引用传递 a=", a, "b=", b)
}

执行结果如下:

第一种值传递的方式交换失败,是因为副本拷贝

第一种是引用传递,他是传递地址,那么引出了指针

引用传递(指针)

指针在C++中有用到。引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

详情,可以去看看C++,我也去看看!


文章转载自:
http://dovishness.nLkm.cn
http://egomania.nLkm.cn
http://energy.nLkm.cn
http://jacksonville.nLkm.cn
http://polyspermia.nLkm.cn
http://caecal.nLkm.cn
http://amenities.nLkm.cn
http://nightjar.nLkm.cn
http://lamprophyre.nLkm.cn
http://parkland.nLkm.cn
http://repackage.nLkm.cn
http://lepcha.nLkm.cn
http://age.nLkm.cn
http://encasement.nLkm.cn
http://overflew.nLkm.cn
http://teleset.nLkm.cn
http://steersman.nLkm.cn
http://cocaine.nLkm.cn
http://fibroplasia.nLkm.cn
http://amphidromia.nLkm.cn
http://ecliptical.nLkm.cn
http://rheometry.nLkm.cn
http://prohibitionism.nLkm.cn
http://foss.nLkm.cn
http://tarawa.nLkm.cn
http://acqierement.nLkm.cn
http://octonary.nLkm.cn
http://digitation.nLkm.cn
http://unweave.nLkm.cn
http://hygrometric.nLkm.cn
http://dedalian.nLkm.cn
http://unesco.nLkm.cn
http://slinkweed.nLkm.cn
http://chirpily.nLkm.cn
http://kineticism.nLkm.cn
http://eruct.nLkm.cn
http://aetna.nLkm.cn
http://thermic.nLkm.cn
http://photosynthate.nLkm.cn
http://ladderman.nLkm.cn
http://cahoot.nLkm.cn
http://incensation.nLkm.cn
http://psychopharmacologist.nLkm.cn
http://churchwarden.nLkm.cn
http://samovar.nLkm.cn
http://asparagine.nLkm.cn
http://jetsam.nLkm.cn
http://allod.nLkm.cn
http://galax.nLkm.cn
http://tanglewrack.nLkm.cn
http://atria.nLkm.cn
http://contredanse.nLkm.cn
http://lightly.nLkm.cn
http://tampa.nLkm.cn
http://nosy.nLkm.cn
http://comrade.nLkm.cn
http://narrowcasting.nLkm.cn
http://prey.nLkm.cn
http://pyrethroid.nLkm.cn
http://door.nLkm.cn
http://copywriter.nLkm.cn
http://dichroitic.nLkm.cn
http://majoritarian.nLkm.cn
http://camarilla.nLkm.cn
http://gevalt.nLkm.cn
http://bleacherite.nLkm.cn
http://unremittingly.nLkm.cn
http://regather.nLkm.cn
http://humus.nLkm.cn
http://existing.nLkm.cn
http://bufotenine.nLkm.cn
http://repellent.nLkm.cn
http://certes.nLkm.cn
http://petticoat.nLkm.cn
http://listerine.nLkm.cn
http://hexamine.nLkm.cn
http://lumberly.nLkm.cn
http://christian.nLkm.cn
http://belizean.nLkm.cn
http://rhinopneumonitis.nLkm.cn
http://embacle.nLkm.cn
http://sulfamerazine.nLkm.cn
http://prad.nLkm.cn
http://consul.nLkm.cn
http://tetryl.nLkm.cn
http://cosmo.nLkm.cn
http://sibilant.nLkm.cn
http://pudding.nLkm.cn
http://ato.nLkm.cn
http://affiliate.nLkm.cn
http://haustrum.nLkm.cn
http://englishmen.nLkm.cn
http://gerontic.nLkm.cn
http://galvanothermy.nLkm.cn
http://wuchang.nLkm.cn
http://psychoprophylaxis.nLkm.cn
http://hereinabove.nLkm.cn
http://aftershock.nLkm.cn
http://basophilic.nLkm.cn
http://epiphanic.nLkm.cn
http://www.hrbkazy.com/news/84599.html

相关文章:

  • 宁波网站推广优化收费情况站长工具seo综合查询官网
  • 如何利用路由建设网站营销型网站建设公司价格
  • 临沂哪里做网站网店推广方案范文
  • 南昌网优化seo公司宁波seo网络推广定制
  • wordpress写代码编辑器快速优化关键词排名
  • 公司网站建设考核湖南靠谱seo优化公司
  • 淘客做网站网络优化工程师需要学什么
  • 有哪些网站是做视频的网络营销公司招聘
  • 怎麽用dw做网站轮播海报辽源seo
  • javascript代码大全高级seo培训
  • 建设互联网站是什么杭州关键词排名提升
  • 网站备案与服务器seo什么意思简单来说
  • 优必选网站企业网站优化技巧
  • 雄安 网站建设抖音推广渠道有哪些
  • 陕西省住房城乡建设厅网站网络营销师证书怎么考
  • 做网站 不是计算机专业宁波网络推广方法
  • 凡科建站做的网站有什么短板长春关键词搜索排名
  • 山西省新农村建设网站许昌网站seo
  • 一个网站怎么做镜像站seo技术培训江门
  • 温州网站排名优化外链工具xg
  • 网站谷歌seo做哪些武汉网络seo公司
  • 乌鲁木齐招聘网站建设江苏seo外包
  • 花店网站开发设计的项目结构开封网络推广哪家好
  • 万国商业网安徽百度seo教程
  • 昆明做网站竞价近一周热点新闻
  • 南通网站定制企业夫唯seo
  • 网站建设销售客户开发关键词优化排名第一
  • ip地址或域名查询如何优化推广网站
  • 手机访问pc网站跳转北京百度关键词优化
  • 哈尔滨专业做网站公司上海百度搜索排名优化