go语言代码记知识点 go语言编程入门与实战技巧( 九 )


String sb = new String(“Hello World”);
以下这段 Java 代码你也不一定能意识到有多线程问题:
synchronized public void send(authuserPacket pkt, Thread t, String flowNo) throws IOException
{
logger.info("start");
//连接不可用 , 直接抛出异常 , 等待接收线程连接服务器成功
if (!this.avaliable)
{
try
{
//如果连接不可用,则等待2S,然后重新检测
Thread.sleep(2000);
}
... ...
如果我们及时用 FindBugs 工具检查就会发现上面这些问题,进而你会去分析研究为什么,如此,你对这门语言的了解也会越来越多 。
另外 , Go 语言自带的 vet/test/cover/pprof/trace 都是非常有用的工具 , 一边学一边使用这些工具分析代码 , 能加深对语言的理解 。
六、多练习、多实践
就象学自然语言一样,如果只知道语法不去练是没有任何效果的,只有反复地练习 , 慢慢才能变成自己的一项技能 。书本上的例子代码最好能从头到尾亲自敲一遍,多运行、多尝试,另外再找一些题目来练习 , 如能有机会参与项目开发则更好啦,勤动手、勤实践是最好的学习方法 。
其它的方法还有:
做好笔记,把学习中遇到的关键点和自己的思考记下来,便于后面复习和对比;
复习,学习一定要重复、重复、再重复;
学习贵在坚持,每天学一点(比如坚持每天学 1 小时),日积月累 。
Go语言基础语法(一)本文介绍一些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--
《Go语言学习笔记》epub下载在线阅读全文,求百度网盘云资源《Go语言学习笔记》(雨痕)电子书网盘下载免费在线阅读
链接:
提取码:qyzq
书名:Go语言学习笔记
豆瓣评分:8.1
作者: 雨痕
出版社: 电子工业出版社
出品方: 博文视点
出版年: 2016-6
页数: 468
内容简介
作为时下流行的一种系统编程语言,Go 简单易学,性能很好,且支持各类主流平台 。已有大量项目采用 Go 编写 , 这其中就包括 Docker 等明星作品,其开发和执行效率早已被证明 。本书经四年多逐步完善,内容覆盖了语言、运行时、性能优化、工具链等各层面知识 。且内容经大量读者反馈和校对,没有明显的缺陷和错误 。上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项 。下卷则对运行时源码做出深度剖析 , 引导读者透彻了解语言功能背后的支持环境和运行体系 , 诸如内存分配、垃圾回收和并发调度等 。本书不适合编程初学入门,可供有实际编程经验或正在使用Go 工作的人群参考 。

推荐阅读