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

 更新时间:2015年10月29日 15:04:21   投稿:goldensun  
这篇文章主要介绍了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或下划线_后跟零个或多个字母,下划线和数字(0〜9)。

复制代码 代码如下:

identifier = letter { letter | unicode_digit } .


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

复制代码 代码如下:

mahesh   kumar   abc   move_name   a_123
myname50   _temp   j   a23b9   retVal


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

20151029150154607.png (628×173)

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

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

复制代码 代码如下:

 var age int;


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

复制代码 代码如下:

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


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

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

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

20151029150217592.png (620×311)

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

整型
预定义架构无关的整数类型有:
20151029150234416.png (621×488)

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

20151029150251488.png (636×268)

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

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

20151029150309133.png (625×322)

相关文章

  • golang中make和new的区别示例详解

    golang中make和new的区别示例详解

    Go 语言中的 new 和 make 一直是新手比较容易混淆的东西,咋一看很相似。不过解释两者之间的不同也非常容易,下面这篇文章主要介绍了golang中make和new的区别,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 详解Go语言运用广度优先搜索走迷宫

    详解Go语言运用广度优先搜索走迷宫

    广度优先搜索是从图中的某一顶点出发,遍历每一个顶点时,依次遍历其所有的邻接点,再从这些邻接点出发,依次访问它们的邻接点,直到图中所有被访问过的顶点的邻接点都被访问到。然后查看图中是否存在尚未被访问的顶点,若有,则以该顶点为起始点,重复上述遍历的过程
    2021-06-06
  • golang的基础语法和常用开发工具详解

    golang的基础语法和常用开发工具详解

    这篇文章主要介绍了golang的基础语法和常用开发工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 基于golang channel实现的轻量级异步任务分发器示例代码

    基于golang channel实现的轻量级异步任务分发器示例代码

    这篇文章主要给大家介绍了关于基于golang channel实现的轻量级异步任务分发器的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 一文详解Golang中的errors包

    一文详解Golang中的errors包

    在 Golang 中,errors 包是用于处理错误的标准库, errors 包提供的功能比较简单,使用起来非常方便,接下来就具体讲解一下 errors 包提供的几个函数,感兴趣的小伙伴跟着小编一起来看看吧
    2023-07-07
  • go 协程返回值处理操作

    go 协程返回值处理操作

    这篇文章主要介绍了go 协程返回值处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go语言之使用pprof工具查找goroutine(协程)泄漏

    Go语言之使用pprof工具查找goroutine(协程)泄漏

    这篇文章主要介绍了Go语言之使用pprof工具查找goroutine(协程)泄漏,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • 在 Golang 中使用 Cobra 创建 CLI 应用

    在 Golang 中使用 Cobra 创建 CLI 应用

    这篇文章主要介绍了在 Golang 中使用 Cobra 创建 CLI 应用,来看下 Cobra 的使用,这里我们使用的 go1.13.3 版本,使用 Go Modules 来进行包管理,需要的朋友可以参考下
    2022-01-01
  • Golang使用反射的动态方法调用详解

    Golang使用反射的动态方法调用详解

    Go是一种静态类型的语言,提供了大量的安全性和性能。这篇文章主要和大家介绍一下Golang使用反射的动态方法调用,感兴趣的小伙伴可以了解一下
    2023-03-03
  • 看看你的Go应用是否用了正确CPU核数

    看看你的Go应用是否用了正确CPU核数

    这篇文章主要为大家介绍了Go应用正确的CPU核数分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论