GO语言学习之路(不定期更新中)

         最近两周一直在学习go语言,所以决定开始在我的博客里面记录我对于一门新语言的学习,我在学习一门新的语言时候,总喜欢做笔记,然后去写简单的demo,从中去发现错误,在改正错误,对我而言,这样比一直看文档或者看视频什么的要学习的快,毕竟语言这门课程需要动手实践,不可以看看文档、看看视频,你就以为你会了,真的,有时候你以为真的只是你以为。(只有不断奔跑才能不被技术的浪潮击退,与君共勉)

一:什么是go语言?(百度百科介绍)

   简介

          Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言

   描述

      Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔通信顺序进程(CSP)为基础,采取类似模型的其他语言包括OccamLimbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。

与C++相比,Go并不包括如枚举异常处理继承泛型断言虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。

不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries)),就像字符串类型一样。

编写风格

在Go中有几项规定,而且这些是强制的,当不匹配以下规定时编译将会产生错误。

  1. 每行程序结束后不需要撰写分号(;)。

  2. 大括号({)不能够换行放置。

  3. if判断式和for循环不需要以小括号包覆起来。

Go亦有内置gofmt工具,能够自动整理代码多余的空白、变量名称对齐、并将对齐空格转换成Tab。

编译器

当前有两个Go编译器分支,分别为官方编译器gc和gccgo。官方编译器在初期使用C写成,后用Go重写从而实现自举。Gccgo是一个使用标准GCC作为后端的Go编译器。

以上内容百度百科就可以出来,下面是我了解的关于go语言的一些特点以及一些注意事项

     1. go语言是以.go为拓展名称

     2.执行入口是main()函数

     3.严格区分大小写

     4.每个语句不用带分号,这个真的好爽

     5.定义的常量和import 的包如果没有使用到,代码不能编译通过(这个跟java不一样,java是你没有用到它就会报警告,而go  是每一个东西必须一个萝卜一个坑,不然就不会让你编译通过,这也是它为啥快的原因之一吧!)

 

二:数据类型

         go语言的数据类型分的很细,不像java一样一个大概的定位吗,比如java中的基本数据类型 int 然后就没有了,go不一样,它分的很细

    整型

       

     GO语言学习之路(不定期更新中)

   浮点

            float32单精度 

            float64 双精度

   字符串

             一个字符byte

            Go语言字符使用UTF-8 英文字符1个字节 汉字3个字节

           字符串一旦赋值了,就不能在修改

            反引号是直接输出`

   布尔(bool)

            只能取true false不能取0,1 占用一个字节

 

注意:

       Go在不同类型的变量之间赋值是需要显式转换,也就是说Golang中数据类型不能自动转换

三:基本数据类型的默认值:

       整型: 0 

       浮点型:0

       字符串: ""

       布尔类型:false

总结:

       基本数据类型分为:整型、浮点型、字符串、布尔类型