Go语言基本语法

前面已经看到了Go程序的基本结构,所以这将是很容易理解Go编程语言等基本构建块。

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的保留字。这些保留的字可以不被用作常量或变量,或任何其他的标识符名称。

break

default

func

interface

select

case

defer

go

map

struct

chan

else

goto

package

switch

const

fallthrough

if

range

type

continue

for

import

return

var

在Go中空白格

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

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

var age int;

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

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

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

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-07-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PHP在线

12个非常实用的JavaScript小技巧

在这篇文章中将给大家分享12个有关于JavaScript的小技巧。这些小技巧可能在你的实际工作中或许能帮助你解决一些问题。 使用!!操作符转换布尔值 有时候我们...

3528
来自专栏繁花云

liunx下sed命令的用法

单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的,这时候只要把命令中的单...

750
来自专栏Golang语言社区

Golang指针与nil浅析

曾经听说过一句话,编程的本质就是指针和递归。那会刚开始编码,只是这两个的概念有个感性粗浅的认识。最早接触指针,莫过于C语言了,能否理解用好指针也成为一个合格C语...

2906
来自专栏运维小白

9.3 grep(下)

grep用法 grep 'r.o' test.txt grep 'oo*' test.txt grep '.*' test.txt grep 'o{2}' /e...

1865
来自专栏Golang语言社区

浅析Go语言中的Range关键字

前言 相信用过Range的朋友们都知道,Go语言中的range关键字使用起来非常的方便,它允许你遍历某个slice或者map,并通过两个参数(index和val...

3669
来自专栏C/C++基础

C/C++文字常量与常变量

在C/C++编程时,经常遇到以下几个概念:常量、文字常量、字面常量、符号常量、字符常量、常变量、字符串常量等,网上的资料描述的不尽相同,弄得大家云里雾里。本文将...

1312
来自专栏小詹同学

Python系列之——字符串格式化(xiaozhan is a boy of 22 years old.)

不知道小伙伴有没有遇到过字符串输出有格式要求的情况呢?今天小詹学习分享一波python的字符串格式化的方法。学以致用,首先我们得明确为什么要格式化字符串输出,以...

702
来自专栏个人随笔

JavaScript 网页脚本语言 由浅入深

1)基础 学习目的: 1. 客户端表单验证 2. 页面动态效果 3. jQuery的基础 什么是JavaScript? 一种描述性语言,也是一种基于对象和事件驱...

36210
来自专栏web前端-

JavaScript基础概述

    1.常量: 常量就是在程序运行过程中,不会发生变化的量,常量通常用来表示固定不变的量,比如圆周率,万有引力常量

702
来自专栏PHP在线

Jquery find与filter函数区别

find()会在div元素内 寻找 class为classname的元素。 filter()则是筛选div的class为classname的元素。 基本是...

3497

扫码关注云+社区

领取腾讯云代金券