Go语言基本的语法和内置数据类型初探

   2015-11-06 0
核心提示:这篇文章主要介绍了Go语言基本的语法和内置数据类型,是golang入门学习中的基础知识,需要的朋友可以参考下

Go令牌
Go程序包括各种令牌和令牌可以是一个关键字,一个标识符,常量,字符串文字或符号。例如,下面的Go语句由六个令牌:

复制代码 代码如下:

fmt.Println("Hello, World!")

个体令牌是:
复制代码 代码如下:

fmt
.
Println
(
"Hello, World!"
)

行分离器
在Go程序,行的分隔符关键是一个语句终止。也就是说,每一个单独语句不需要特殊的分隔线; 在C编译器转到内部的地方; 作为语句终止符,表示一个逻辑实体的结束。

例如,下面是两个不同的陈述:

复制代码 代码如下:

fmt.Println("Hello, World!")
fmt.Println("I am in Go Programming World!")


注释
注释就像帮助文本在你的Go程序,它们是由编译器忽略。他们开始使用字符/*和终止使用*/如下图所示:

复制代码 代码如下:

/* my first program in Go */


不能在注释中的含有注释,并且它们不能在一个字符串或字符文字出现。

标识符
Go标识符是用来标识变量,函数,或任何其它用户定义的项目名称。一个标识符开始以字母A到Z或a到z或下划线_后跟零个或多个字母,下划线和数字(09)。

复制代码 代码如下:

identifier = letter { letter | unicode_digit } .


Go语言不允许标识符中的标点字符,如@,$和%。Go是一种区分大小写的编程语言。所以, Manpower 和 manpower 在Go中是两个不同的标识符。这里是可接受的标识符的一些例子:

复制代码 代码如下:

mahesh   kumar   abc   move_name   a_123
myname50   _temp   j   a23b9   retVal


关键词
下面的列表显示了Go的保留字。这些保留的字可以不被用作常量或变量,或任何其他的标识符名称。

Go语言基本的语法和内置数据类型初探

在Go中空白格
仅包含空格,可能与注释行,被称为一个空行,Go编译器完全忽略它。

空白是在Go中用来描述空格,制表符,换行符和注释术语。空格分隔从另一个声明的一部分,使编译器能够找出在一份声明中的一个元素,如int,结束且下一个元素开始。因此,在下面的语句:

复制代码 代码如下:

 var age int;


必须有至少一个空白字符(通常是一个空格)int和age之间的编译器,以便能够区分它们。在另一方面,在下面的语句:

复制代码 代码如下:

fruit = apples + oranges;   // get the total fruit


无空白字符是必要的,fruit和=之间或=和apples,虽然是自由的,如果想便于阅读的目的,最好包括一些空格。

Go语言数据类型
在Go编程语言,数据类型指用于声明变量或不同类型的功能的广泛的系统。变量的类型决定了有多少空间占用的存储和存储方式的位模式将被解释。

Go的数据类型可分类如下:

Go语言基本的语法和内置数据类型初探

数组类型和结构类型被统称为聚合类型。函数的类型指定的一组具有相同的参数和结果类型所有函数。我们将看到基本类型在下面的部分,而其他类型将包括在后面的章节。

整型
预定义架构无关的整数类型有:
Go语言基本的语法和内置数据类型初探

浮点类型
预定义架构无关的浮点类型是:

Go语言基本的语法和内置数据类型初探

n位整数的值是n比特,并使用2的补码算术运算表示。

其它数值类型
还有一组数字类型与执行的具体大小:

Go语言基本的语法和内置数据类型初探

 
标签: Go
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 《黑马程序员》 category分类的使用(Objective
    分类的作用:在不改变原来类的基础上,可以给类增加一些方法。使用注意 : ①  分类只能增加方法,不可以增加成员变量                ②  分类的方法在实现中可以访问成员变量,不过成员变量必须手动实现。               
    03-16
  • intellij idea go go go!
    安装如下:1. intellij idea2. jdk-8u31-windows-x643.1. scala:Scala是一门多范式的编程语言,一种类似java的编程语言[1]  ,设计初衷是实现可伸缩的语言[2]  、并集成面向对象编程和函数式编程的各种特性。 2.IdeaVimEmulates Vim editorVim是一个类似
    03-08
  • 用 VSCode 搭建 Go 语言开发环境
    用 VSCode 搭建 Go 语言开发环境
    介绍这是来自 Funai Research Institute Digital 的 osw。由于我决定使用 Go 语言进行工作,所以我会在学习时将其记录在备忘录中。如果您可以参考,我将不胜感激。目标听众从现在开始学习 Go 语言的人我正在考虑使用 VSCode本次使用的环境这次,我们将基于以
    03-08
  • 我比较了 Go 和 C# 的速度
    我比较了 Go 和 C# 的速度
    我在 Go 和 C# 之间进行了速度比较。我通常使用 C#,但我有机会使用 Go,并且由于传闻 Go 速度很快,所以我实际测量了它。测量内容我在 Go 和 C# 中执行了一个简单的循环和判断过程,以查看整数 2 到 N 是否为质数。来源是Github参考。测量模式 逻辑内核 8 Wi
    03-08
  • Nginx动态路由的新姿势:使用Go取代lua nginx路由规则
    Nginx动态路由的新姿势:使用Go取代lua nginx路
    导语: 在Nitro 中, 我们需要一款专业的负载均衡器。 经过一番研究之后,Mihai Todor和我使用Go构建了基于Nginx、Redis 协议的路由器解决方案,其中nginx负责所有繁重工作,路由器本身并不承载流量。 这个解决方案过去一年在生产环境中运行顺畅。 以下是我
    03-08
  • 《zw版·Halcon-delphi系列原创教程》 Halcon分
    《zw版·Halcon-delphi系列原创教程》 Halcon分类函数012,polygon,多边形为方便阅读,在不影响说明的前提下,笔者对函数进行了简化::: 用符号“**”,替换:“procedure”:: 用大写字母“X”,替换:“IHUntypedObjectX”:: 省略了字符:“const”、“OleVa
    02-09
  • 设计模式之开放-封闭原则(引申出Objective-C中
    开放封闭原则(OCP原则The Open-Closed Principle)是面向对象的核心设计所在。它是说,软件开发实体(类、模块、函数等)应该可以扩展,但是不能修改。这个原则有两个特征,一个是说“对于扩展是开放的”,另一个是说“对于更改是封闭的”。我们在编写任何ap
    02-09
  • Objective-C——消息、Category和Protocol Objective-C
    Objective-C——消息、Category和Protocol Obje
    面向对象永远是个可以吐槽的话题,从开始提出到推崇备至,到充满质疑,一路走来让人唏嘘不已。面向对象的思想可谓历史悠久,20世纪70年代的Smalltalk可以说是面向对象语言的经典,直到今天我们依然将这门语言视为面向对象语言的基础。面向对象是大部分编程语
    02-09
  • Go语言使用goroutine及通道实现并发详解
    Go语言使用goroutine及通道实现并发详解
    目录使用通道接收数据阻塞接收数据非阻塞接收数据接收任意数据,忽略掉接收的数据循环接收数据使用通道接收数据在上一篇文章中介绍了通道以及使用通道发送数据,本篇接着了解通道的基本内容,如何使用通道接收数据;通道的接收同样使用"-"操作符;使用通道接
  • Go 数据结构之堆排序示例详解
    Go 数据结构之堆排序示例详解
    目录堆排序堆排序过程动画显示开始堆排序代码实现总结堆排序堆排序是一种树形选择排序算法。简单选择排序算法每次选择一个关键字最小的记录需要 O(n) 的时间,而堆排序选择一个关键字最小的记录需要 O(nlogn)的时间。堆可以看作一棵完全二叉树的顺序存储结构
点击排行