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

本地电脑做网站服务器wordpress yootheme

本地电脑做网站服务器,wordpress yootheme,林州网站制作,ytwzjs烟台网站建设#x1f493;博主CSDN主页:杭电码农-NEO#x1f493;   ⏩专栏分类:Go语言专栏⏪   #x1f69a;代码仓库:NEO的学习日记#x1f69a;   #x1f339;关注我#x1faf5;带你学习更多Go语言知识   #x1f51d;#x1f51d; Go快速上手 1. 前言2. 分支与循环2.1… 博主CSDN主页:杭电码农-NEO   ⏩专栏分类:Go语言专栏⏪   代码仓库:NEO的学习日记   关注我带你学习更多Go语言知识   Go快速上手 1. 前言2. 分支与循环2.1 for循环和for range2.2 switch语句 3. 函数的引入4. 包的引入5. init函数讲解6. 匿名函数讲解7. defer关键字讲解8. 字符串函数讲解9. 内置函数10. 总结以及拓展 1. 前言 经过第一篇文章的学习,现在我们对GO已经有了一个初步的了解,接下来会站在使用它的角度,给大家讲解一些语法和GO语言的组件 本章重点: 本篇文章着重讲解GO语言的分支与循环语句,以及GO语言中的函数的特性,以及函数是怎样定义的?最后会讲解几个特殊的函数,包括init函数,匿名函数,以及defer关键字的用途,字符串函数和日期函数 2. 分支与循环 GO语言中的分支循环和C很类似,也是用if,else if,else以及for循环,switch语句来完成任务.比较特别的是,GO语言中没有while循环,但是新增了一个叫for range的东西,后面会一一讲解 if,else语句 var age int 18 if age18{fmt.Println(可以去网吧) }else{fmt.Println(不能去网吧) }GO语言比较特别的是,if语句的判断条件不用加括号,判断条件可直接写.除此之外,GO语言的if,else语句可不是能随意写的,下面这种写法就是错误的 var age int 18 if age18{fmt.Println(可以去网吧) } else{fmt.Println(不能去网吧) }2.1 for循环和for range 代码实例: var str string abcdefg for i : 0;ilen(str);i{fmt.Println(str[i]) }go语言的for循环中的初始表达式位置,不能使用var来定义变量,只能用:的形式,并且,for循环的括号也是可以省略的,甚至连初始表达式和迭代因子都可以省略.注:len是内置函数,可以求字符串/数组的长度 for range for range是GO语言独有的一种迭代结构,它可以遍历字符串,数组,切片,map等诸多类型,它的语法有一点像C11中的范围for,它的一般形式为: for key,value : range coll{} 代码实例 var str string abcdefg for key,value : range str{fmt,Printf(下标为: %d,值为: %c,key,value)for range中的key代表数组/字符串的下标,也可以叫索引,而value代表数组/字符串中的元素. 如果你不想接收下标,可以这样写: for _,value : range str{}. 2.2 switch语句 代码实例 var grade int 81 switch grade/10{case 10:fmt.Println(优秀)case 9:fmt.Println(优秀)case 8:fmt.Println(良好)case 7:fmt.Println(良好)case 6:fmt.Println(及格)default:fmt.Println(不及格) }GO语言中的switch语句中的每一个case都自带break,这和C语言有大不同,GO语言的switch语句还有以下特征,大家可以下来自行验证 3. 函数的引入 代码实例: func add(x int,y int) int{return xy } func main(){var age int add(10,20)fmt.Println(age) }GO语言中函数的传参默认也是传递,和C一样,并且GO语言不支持函数重载,除此之外,GO语言的函数命名也有讲究,细节如下: 在GO语言中,函数也是一种数据类型,它可以赋值给一个变量,也可以当作其他函数的形参被传入函数中,这一点类似于C11当中的function,并且,GO语言的函数还可以重命名返回值,注:GO语言的函数可能有多个返回值,有多个返回值时需要把返回值带上括号 代码实例一: func sub(x int,y int) int{return x-y } func main(){function : subvar tmp int function(20,10)fmt.Println(tmp) }代码实例二: //写法一 func mytask(x int,y int) (int,int){return xy,x-y } //写法二 func mytask(x int,y int) (sum int,sub int){//重命名返回值sum : xysub : x-yreturn //不用写特定的变量或值,系统会自动返回sum和sub两个变量 }4. 包的引入 前面一直有在说包,那到底什么是包?包实际上就是一个文件夹,这个文件夹中存放了你的.go文件,那么为什么要有包?在C中我们常说到,实现一个项目时,不可能只在一个源文件中进行,我们可能会定义多个源文件,而在GO语言中我们常常称使用多个包完成不同的任务,并且引入包可以解决同名函数等问题 注意事项: GO语言的第一行代码往往是package main,这是在main函数中需要写出package main,但是假如当前文件没有main函数,它只是一组方法的集合,那么这个时候就不能写成package main了,假设这个.go文件所在的文件夹叫tmp,那么就应该写成: package tmp,以此类推 只要在同一个文件下,所有的.go文件都属于一个包,所以在同一个文件下,不同的源文件也不能定义同名函数,因为一个包只能有唯一命名的函数 5. init函数讲解 init函数,又称初始化函数,可以用来进行一些初始化工作,每一个源文件中都可以包含一个init函数,该函数会在main函数执行前就被GO运行框架调用 两个问题: 全局变量,init函数,main函数的执行顺序多个源文件都有init函数时的执行顺序 var age int var(10,20) func var(x int,y int) int{fmt,Println(全局变量被执行)return xy } func init(){fmt,Println(init函数被执行) } func main(){fmt,Println(main函数被执行) }结论: 全局变量initmain函数其他包的init函数main包的init函数 6. 匿名函数讲解 代码实例: func main(){var ret int func(x int,y int) int{return xy}(10,20)//最后进行传参fmt.Println(ret) }7. defer关键字讲解 在函数中,程序员经常需要创建资源(比如堆区资源,文件描述符等),为了在函数执行完毕后,能够很好的释放这些资源,GO语言提供了defer关键字 func add(x int,y int) int{defer fmt.Printf(x的值为: %d,x)defer fmt.Printf(y的值为: %d,y)x 100y 50var sum int xyfmt.Println(sum)return sum }func main(){var tmp int add(10,20)fmt.Println(tmp) }GO中,语句defer关键字修饰的语句时,不会立刻执行此语句,而是将此语句压入到一个栈中,等整个函数调用结束时再执行栈中的语句,并且,压入栈中的语句的值已经定了,即使在后面修改了值(比如上面代码中的x和y),栈中也不会受影响 使用场景: 打开文件描述符时,立马用defer写一个关闭文件描述符的语句,就不会遗忘释放资源 8. 字符串函数讲解 字符串函数有很多,大家不必全部背下来,有个影响就行,到时候真正要用的时候再查文档即可 有些字符串函数有两个返回值,第二个往往是err,代表执行这个函数时是否出错,如果你不想接收它,直接用下划线_省略掉即可.注意,字符串函数需要import包:strconv,而strings是内置的包,可以直接使用 var str string abcdefg r : []rune(str)//将str转换为切片后再使用 for i:0;ilen(r);i{fmt.Println(r[i]) } pos : strings.lndex(i love cpp,i love golang,c)字符串函数很多,就不一一举例子了,大家可以下来试着编写一下demo 9. 内置函数 golang设计者为了编程方便,提供了一些不用导包就可以直接使用的函数,称为内置函数,下面是常见的内置函数: len函数: 统计字符串/数组/切片等的长度new函数: 分配内存,主要用来分配值类型,如:int,float,string,数组,结构体make函数: 分配内存,主要用于分配引用类型,如:指针,切片,map等new和make函数都是在堆区开辟空间 10. 总结以及拓展 GO语言还是挺好上手了,基本上写一遍就能知道它的用法,如果你基础语言学的比较扎实,你甚至可以想象出它底层是如何设计的,本系列文章的重点将放在GO语言的快速上手,所以就没有讲底层的原理,如果是校招要想找GO语言相关工作的同学,我还是建议你们多多深造一下 拓展:GO语言的API接口 Go语言标准文档(中文版) 下期预告:错误处理,数组以及切片
http://www.laogonggong.com/news/117315.html

相关文章:

  • 网站建设方案word什么网站可以做excel表格
  • 苏州网站网页设计wordpress 挂马清理
  • 建设网站买的空间是服务器吗旅行社静态模板网站
  • 邢台网站推广多少钱未来最吃香的十大行业
  • 江苏国龙翔建设有限公司网站网站的服务与建设岗位职责
  • 前端做的网站c2c模式流程图
  • 安阳做网站哪家好网站顶部地图代码怎么做
  • 做网站即墨ppt模板网站排行
  • 各大高校的校园网站建设哪个做网站比较好
  • 搜索引擎入口沈阳百度推广优化
  • 郑州服务设计公司网站沂源县建设局网站
  • 旅游区网站建设分销系统平台有哪些
  • 上海博大园林建设发展有限公司网站西昌建设工程招聘信息网站
  • 网站集约化建设工作打算厦门营销型网站
  • 做网站用微信收款还是支付宝餐饮营销策划方案范文
  • 所有北京网站建设公司本地安装wordpress步骤
  • 北京时间网站建设云主机和云电脑的区别
  • 网站建设模块有哪些个人电子商务网站建设
  • 免费下载素材的设计网站文山网站建设
  • 网站项目整体思路电脑上做免费网站教程
  • 汽车 营销 网站建设住房与城乡建设部网站特色小镇
  • 网站建设中应注意的问题wordpress html单页
  • 网站开发建站重庆 建站 价格
  • 做网站推广的价格学做转手绘的网站
  • 深圳住房建设网站有网络但浏览器打不开网页
  • 如何查企业做网站是否备案过手机网站有什么好处
  • 网站建设新闻发布佛山网站
  • 如何把网站上传到空间微商怎么做推广加好友
  • 网站的二级栏目怎么做网站建设帮助中心
  • 做网站建设有前途那厦门 网站建设 公司