重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文介绍一些Go语言的基础语法。
阳高网站建设公司创新互联公司,阳高网站设计制作,有大型网站制作公司丰富经验。已为阳高上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的阳高做网站的公司定做!
先来看一个简单的go语言代码:
go语言的注释方法:
代码执行结果:
下面来进一步介绍go的基础语法。
go语言中格式化输出可以使用 fmt 和 log 这两个标准库,
常用方法:
示例代码:
执行结果:
更多格式化方法可以访问中的fmt包。
log包实现了简单的日志服务,也提供了一些格式化输出的方法。
执行结果:
下面来介绍一下go的数据类型
下表列出了go语言的数据类型:
int、float、bool、string、数组和struct属于值类型,这些类型的变量直接指向存在内存中的值;slice、map、chan、pointer等是引用类型,存储的是一个地址,这个地址存储最终的值。
常量是在程序编译时就确定下来的值,程序运行时无法改变。
执行结果:
执行结果:
Go 语言的运算符主要包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及指针相关运算符。
算术运算符:
关系运算符:
逻辑运算符:
位运算符:
赋值运算符:
指针相关运算符:
下面介绍一下go语言中的if语句和switch语句。另外还有一种控制语句叫select语句,通常与通道联用,这里不做介绍。
if语法格式如下:
if ... else :
else if:
示例代码:
语法格式:
另外,添加 fallthrough 会强制执行后面的 case 语句,不管下一条case语句是否为true。
示例代码:
执行结果:
下面介绍几种循环语句:
执行结果:
执行结果:
也可以通过标记退出循环:
--THE END--
1. 部署简单
Go
编译生成的是一个静态可执行文件,除了glibc外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。
2. 并发性好
Goroutine和channel使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个Go应用也能有效的利用多个CPU核,并行执行的性能好。
3. 良好的语言设计
从学术的角度讲Go语言其实非常平庸,不支持许多高级的语言特性;但从工程的角度讲,Go的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是
Go 自带完善的工具链,大大提高了团队协作的一致性。
4. 执行性能好
虽然不如 C 和 Java,但相比于其他编程语言,其执行性能还是很好的,适合编写一些瓶颈业务,内存占用也非常省。
可以学习黑马程序员的这个教程
20小时快速入门go语言:网页链接
go语言的优势
可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。
静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。
语言层面支持并发,这个就是Go最大的特色,天生的支持并发。Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。
内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC(内存垃圾回收机制)不算完美,但是足以应付我们所能遇到的大多数情况,特别是Go1.1之后的GC。
简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。
丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大。
内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。
跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息。
内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库。
golang学习比较简单,不过任何一门语言都不是孤立存在的,在这里简要说明一下golang开发的学习路线
1.golang基础,包括go语言安装,go语言语法,流程控制语句,函数,方法,面向对象概念,网络编程,并发编程等
2.golang开发框架,包括beego,gin,Iris,Echo等
3.微服务开发
4.深入的话还可以学习算法部分。如果要接触区块链相关技术的话,还需要学习区块链的加密算法等相关知识
5.如果要结合go实现应用的话,肯定离不开各种数据库,比如关系型数据库oracle、mysql,或者各类非关系型数据库等等
6.如果需要开发界面的话,还需要学习网页编程如html,javascript,vue,elementUI,bootstrap等网页开发技术和框架。
7.在以上学习的基础上还可以向架构方面深入学习。
链乔教育在线祝您学有所成。