编码格式

Go语言源码文件编码格式必须是 UTF-8 格式,否则会导致编译器出错。

结束语句

在 Go 程序中,一行代表一个语句结束。每个语句不需要像其它语言一样以分号 ";"结尾,因为这些工作都将由 Go 编译器自动完成。

如果你打算将多个语句写在同一行,它们则必须使用 ";"人为区分。实例如下:

package main

import (
"fmt"
) func main() {
fmt.Println("oldboy")
fmt.Println("Linux");
fmt.Println("Java");fmt.Println("DBA")
fmt.Println("Python");fmt.Println("Golang");
}

代码注释

注释不会被编译,每一个包应该有相关注释。

Go语言代码注释支持 "//"、"/**/" 两种注释方式,不能嵌套。 建议用单行注释 // 源码里也是这么用的

单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾。实例如下

// 单行注释

/*
多行注释
*/

编写 Hello World

1、创建文件 hello.go,不写入任何内容。运行 go build hello.go 命令进行编译。将会输出如下错误:
can't load package: package main:
hello.go::: expected 'package', found 'EOF'

因为Go语言中,所有文件必须隶属于某一个包。需要在文件的头部声明一个package name,其中package为关键字,name为包名。

2、在hello.go文件中添加一条语句,之后重新进行编译。

添加内容如下:

package main

执行编译,将会输出如下错误:

runtime.main_main·f: relocation target main.main not defined
runtime.main_main·f: undefined: "main.main"

因为Go程序启动时,需要在文件中有一个可标识入口。Go程序的入口函数是main函数。

3、在hello.go文件中添加另外一行,并且重试。

添加内容如下:

package main

func main(){}

执行运行命令 go run hello.go ,程序正确执行并很快就退出了

到目前为止,我们已经创建了自己的第一个程序。虽然没有功能,但是已经可以正常运行了。

4、我们继续添加功能,添加内容如下:
package main

func main(){
Println("hello world")
}

执行编译,将会输出如下错误:

./hello.go::: undefined: Println

因为Println函数存放在fmt包中。我们程序中没有主动引入fmt包,所以编译器报未定义错误。

如果我们需要使用这些包中的功能,首先需要import引入相应的包。包中的可导出组件可以通过 包名.组件名的方式进行调用。

函数Println和其它读写文本和字符的函数,都存放在一个叫做fmt的包中——formatting的缩写。

5、再添加几行代码,添加内容如下:
package main

import "fmt"

func main(){
fmt.Println("hello world")
}

执行 go run hello.go 命令,运行程序。运行结果如下:

hello world

Go 程序启动执行顺序如下:

按顺序导入所有被 main 包引用的其它包,然后在每个包中执行如下流程:

如果该包又导入了其它的包,则从第一步开始递归执行,但是每个包只会被导入一次。

然后以相反的顺序在每个包中初始化常量和变量,如果该包含有 init 函数的话,则调用该函数。

在完成这一切之后,main 也执行同样的过程,最后调用 main 函数开始执行程序。

编写第一个Go程序的更多相关文章

  1. 搭建java开发环境、使用eclipse编写第一个java程序

    搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...

  2. 【安装eclipse, 配置java环境教程】 编写第一个java程序

    写java通常用eclipse编写,还有一款编辑器比较流行叫IJ.这里我们只说下eclipse编写java的前期工作. 在安装eclipse之前要下载java的sdk文件,即java SE:否则无法运 ...

  3. 【C#入门教案-02】用记事本编写第一个C#程序-Hello World

    02-用记事本编写第一个C#程序-Hello World 广东职业技术学院  欧浩源 [1]进行.NET程序开发的最基本环境配备 .NET Framework + 代码编辑工具(记事本或Noetpad ...

  4. 一起学Hadoop——使用IDEA编写第一个MapReduce程序(Java和Python)

    上一篇我们学习了MapReduce的原理,今天我们使用代码来加深对MapReduce原理的理解. wordcount是Hadoop入门的经典例子,我们也不能免俗,也使用这个例子作为学习Hadoop的第 ...

  5. 从零自学Java-1.编写第一个Java程序

    编写第一个Java程序 完成工作:1.在文本编辑器中输入一个Java程序. 2.使用括号组织程序. 3.保存.编译和运行程序. package com.Jsample;//将程序的包名称命名为com. ...

  6. Java笔记:编写第一个Java程序

    2017.6.17 1.编写第一个Java程序 创建text文本,命名第一个Java程序.txt 在里面编写Java代码 public class Demo1{ public static void ...

  7. 假期作业02:安装JDK与文本编辑器并编写第一个Java程序

    假期作业02:安装JDK与文本编辑器并编写第一个Java程序 一.安装JDK与文本编辑器并编写第一个java程序 首先在oracle官网(需要创建账号,进行登录后方可使用)按照自己的需求下载JDK(h ...

  8. 编写第一个MapReduce程序—— 统计气温

    摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...

  9. 使用Playground编写第一个Swift程序

    从控制台输出“HelloWorld”是我学习C语言的第一步,也是我人生中非常重要的一步.多年后的今天,我仍希望以HelloWorld作为第一步,与大家共同开启一个神奇.瑰丽的世界——Swift编程. ...

  10. unbutu中安装jdk并编写第一个java程序

    第一部分:安装jdk 1.首先在putty控制台中输入如下命令,检验系统中是否已经装有jdk. java -version 如果显式的结果如下图,则说明没有安装. openjdk是在linux下默认安 ...

随机推荐

  1. go语言的特殊变量 iota

    iota,是go语言的特殊常量,可以认为是一个可以被编译器修改的常量. 在每一个const关键字出现时,被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1. 来 ...

  2. [SoapUI] 怎样确定一个应答报文的格式是不是标准的JSON

    有一个网站 : http://jsonviewer.stack.hu/ 将Response的文本贴进去,如果是标准的JSON格式,就可以以JSON的view显示出来

  3. Mysql建表的时候创建索引

    创建表时可以直接创建索引,这种方式最简单.方便.其基本形式如下: CREATE TABLE 表名( 属性名 数据类型[完整性约束条件], 属性名 数据类型[完整性约束条件], ...... 属性名 数 ...

  4. jenkins+maven+svn实现简单的一键发布

    前言      在安装之前,我想说明一下本文的目的,jenkins的一款持续集成工具,      它可以做的事情很多,其中一个主要的功能就是简化部署流程          回想一下我们的发布流程:   ...

  5. SQLServer学习-- SQLServer

    SQL Server 是Microsoft 公司推出的关系型数据库管理系统.具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行M ...

  6. Word2010如何编辑好了直接发布csdn博文?

    目前大部分的博客作者在写博客这件事情上都会遇到以下3个痛点:1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.2.发布到博客或公众号平台 ...

  7. mybatis insert 自动生成key

    <selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE& ...

  8. Exception (1) Understanding Exception Handling

    When an exception is thrown, it cannot be ignored--there must be some kind of notification or termin ...

  9. 可排序的 COMB 类型 GUID

    最新代码在这儿:CombGuid.cs 首先这里不做GUID与整形作为主键的优劣之争,GUID自有它优势,但GUID本身是乱序的,会对索引的维护带来性能上的损耗,数据量越大越明显. COMB 类型 G ...

  10. 团体程序设计天梯赛L3-010 是否完全二叉搜索树 2017-03-24 16:12 29人阅读 评论(0) 收藏

    L3-010. 是否完全二叉搜索树 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 将一系列给定数字顺序插入一个初始为空的二叉搜 ...