Go的语法点
1.go里通过首字母大小写来区分它是私有的还是公有的,比如对于一个结构体属性一般就以大写开头(和Java不一样,不需要什么getter,setter方法);而对于方法而言,它是隶属于包(包名一定是小写的),因此大写表示它可以被包外访问,小写只能被包内访问;
还能声明在函数里,这种情况只对函数局部可见;
2.如果要声明一个变量但不初始化,必须指定类型,如var obj AnClassType;(常量用const,类型是type,函数是func),如果同时初始化可以用短变量的方式如obj := new (AnClass),注意,这里和其他语言的new AnClass()不一样;
3.1.13版本的go,string转换为字节数组,默认就是UTF-8的;
4.struct也是值类型,因此struct的变量不能和nil比较,而必须是&AStructObj;
5.如果方法返回时出现异常,则其值为默认值,如int是0,struct类型是一个{};
6.对于特殊名字,如JSON, HTML,则一般这样命名HTMLEscape()或htmlEscape()而不会叫escapeHtml();
7.对于普通方法定义一般是func met() (ret int, err error) {... ret = 3;return},只要需要返回返回值或异常其中的一种则最后就必须要有return,但是和Java等语言不一样的是不需要写return xxx,因为它就是返回函数签名里的ret和err;
golang基础
1、初学Go语言首先弄懂基础语法和概念:基本数据类型、Struct、Array、map、Slice、指针、接口、map、内置函数,常用工具包
等,还有接口和Slice的底层数据结构。这些不需要弄特别懂,能自己理解并自己描述我觉得就可以了,关键在实践和应用练习。
2、然后学文件操作、网络编程、锁、协程、对象序列化和反序列化,以及各种数据格式的封装等,这是进阶的内容。
学完上面两个阶段,就可以自己接触一些框架,然后搭建一个web服务器,来做一些测试和练习。Go各种框架都非常多了,github上
star数过万的就有很多,这里列举几个:beego、iris、gin、echo、revel等。对于学习一些使用方法还是很有帮助的。
3、在第三个阶段做的过程中,自然就接触到了数据库,io,操作系统,网络,存储优化、需要排很多雷。到这一步,已经能够模块化
Go语言的用途有哪些
首先来了解一下go语言的诞生:Go语言是2007年末由RobertGriesemer,Rob Pike,Ken Thompson主持开发,之后有Ian Lance Taylor,Russ Cox等人的加入,最终于2009年11月开源发布。它是一款简单的开源编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go语言是谷歌推出的一款全新的编程语言,可以在不损失应用程序性能的情况下极大的降低代码的复杂性,还可以发挥多核处理器同步多工的优点,并可解决面向对象程序设计的麻烦,并帮助程序设计师处理琐碎但重要的内存管理问题,相比于其他编程语言,简洁、快速、安全、并行、有趣、开源、内存管理、数组安全、编译迅速是其特色。
支持平台
1. 硬件架构:Go语言设计支持主流的32位和64位的x86平台,同时也支持32位的ARM架构;
2. 操作系统 Go语言在Go1版本上支持Windows,苹果Mac OSX,Linux和FreeBSD操作系统。 开发工具
1. LiteIDE是一款专门为Go语言开发的跨平台轻量级集成开发环境(IDE),由QT编写;
2. Vim是从vi发展出来的一个文本编辑器,享有“编辑器之神”的称号。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用;
3. Emacs是由GNU开源组织开发出来的一个文本编辑器,同时更是一个整合环境,曾被人戏称“一个伪装成编辑器的操作系统”;
4. Eclipse也是非常常用的开发利器,可以使用Eclipse来编写Go程序。 主要用途 Go语言被设计成一门应用于搭载Web服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言,Go语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。
还没有评论,来说两句吧...