创建第一个Go程序

新建一个 helloworld.go 文件,写入以下程序

package main

import (
"fmt"
) // 一个函数声明
/*
一个main函数声明
*/
func main() {
fmt.Println("Hello, 世界")
}

运行程序

go run helloworld.go

输出

Hello, 世界

仅需几行代码就能创建一个Go程序

Go语言原生支持 Unicode,它可以处理全世界任何语言的文本。

如果你想要保存编译结果以备将来之用,可以用 build 子命令。

go build helloworld.go

这个命令会生成一个名为 helloworld 的可执行二进制文件,之后可以随时运行它,不需要任何处理。

$ ./helloworld
Hello, 世界

程序详解

package 创建包

Go语言以包作为管理单位,每一个源文件都必须先声明它的所属包,所以每个Go的源文件都会以一个 package 声明一个包名称。 package main 就是声明了一个 main 包。包类似其他语言里的库(libraries)或者模块(modules)。一个包由位于单个目录下的一个或多个 .go 源文件组成,目录定义包的作用。

Go的标准库提供了100多个包,以支持常见功能,如输入、输出、排序以及文本处理。比 如 fmt 包,就含有格式化输出、接收输入的函数。 Println 是其中一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行。

main 包比较特殊。它定义了一个独立可执行的程序,而不是一个库。

import 导入包

在包声明之后使用 import 导入到需要的地方,import fmt 导入了一个Go语言内置提供的 fmt 包 。 如果需要导入多个包,就在括号内加入多个包的名称,每一行代表一个包。

必须恰当导入需要的包,缺少了必要的包或者导入了不需要的包,程序都无法编译通过。这项严格要求避免了程序开发过程中引入未使用的包。

main 函数

它是Go语言的入口,程序在启动时候第一个执行的函数。 main 函数只能声明在 main 包中。

一个函数的声明由 func 关键字、函数名、参数列表、返回值列表(这个例子里的 main 函数 参数列表和返回值都是空的)以及包含在大括号里的函数体组成。

Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。实际上,编译器会 主动把特定符号后的换行符转换为分号, 因此换行符添加的位置会影响Go代码的正确解析。举个例子, 函数的左括号 { 必须和 func 函数声明在同一行上, 且位于末尾,不能独占 一行,而在表达式 x + y 中,可在 + 后换行,不能在 + 前换行。

Go语言在代码格式上采取了很强硬的态度。

注释

Go使用 // 来起始一个行注释,使用一个 /**/ 对来包裹一个块注释。

Golang 入门 : 创建第一个Go程序的更多相关文章

  1. Windows Azure入门教学系列 (一): 创建第一个WebRole程序

    原文 Windows Azure入门教学系列 (一): 创建第一个WebRole程序 在第一篇教学中,我们将学习如何在Visual Studio 2008 SP1中创建一个WebRole程序(C#语言 ...

  2. CodeBlocks环境搭建及创建第一个C++程序

    某业界大牛推荐最佳的途径是从raytracing入门,所以本屌开始学习<Ray Tracing In One Weekend>. 该书是基于C++的.本屌从未学过C++.感觉告诉我,要先搭 ...

  3. 手动创建第一个OC程序

    手动创建第一个OC程序 创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑 之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下 #include<stdio.h> ...

  4. 纯小白创建第一个Node程序失败-容易忽略的一个细节

    一直觉得自己基础还很差,所以自觉不敢去碰node.js,但又对其心怀好奇.恰巧最近有一点空闲时间,忍不住去试了一下水   这不,在创建第一个node程序时就吃了闭门羹,总是提示我没有定义,如下图, 这 ...

  5. “全栈2019”Java第四章:创建第一个Java程序

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序

    每次使用 Visual Studio 的模板创建一个 UWP 程序,我们会在项目中发现大量的项目文件.配置.应用启动流程代码和界面代码.然而这些文件在 UWP 程序中到底是如何工作起来的? 我从零开始 ...

  7. (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序

    每次使用 Visual Studio 的模板创建一个 UWP 程序,我们会在项目中发现大量的项目文件.配置.应用启动流程代码和界面代码.然而这些文件在 UWP 程序中到底是如何工作起来的? 我从零开始 ...

  8. Windows Azure中文博客 Windows Azure入门教学系列 (一): 创建第一个WebRole程序

    http://blogs.msdn.com/b/azchina/ 本文转自:http://blogs.msdn.com/b/azchina/archive/2010/02/09/windows-azu ...

  9. golang基础之第一个go程序

    编写 Hello World 创建文件 hello.go,不写入任何内容.按照如下的命令尝试进行编译 $ go run hello.go 将会打印出如下错误: package main: hello. ...

  10. Go入门:创建第一个Go工程

    前言 我是一名iOS开发. 因为公司后台都用的Go. 因为对服务端不了解. 所以想自己学习学习. 环境 因为自己的电脑是mac.然后在阿里云买的是centOS的服务器. 所以下面搭建的环境都是在cen ...

随机推荐

  1. Qt音视频开发43-采集屏幕桌面并推流(支持分辨率/矩形区域/帧率等设置/实时性极高)

    一.前言 采集电脑屏幕桌面并推流一般是用来做共享桌面.远程协助.投屏之类的应用,最简单入门的做法可能会采用开个定时器或者线程抓图,将整个屏幕截图下来,然后将图片传出去,这种方式很简单但是性能要低不少, ...

  2. Qt编写项目作品35-数据库综合应用组件

    一.功能特点 同时支持多种数据库比如odbc.sqlite.mysql.postgresql.sqlserver.oracle.人大金仓等. 一个数据库类即可管理本地数据库通信,也支持远程数据库通信等 ...

  3. 11.14javaweb学习

  4. 问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题

    解决:Opencv(3.1.0/3.4/4.1.0)找不到 /opencv2/gpu/gpu.hpp 问题 环境: 系统:Win10 环境:Opencv3.4.0/4.1.0 显卡:1080ti 问题 ...

  5. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v10.0版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  6. 为什么要把数据模型分为:Entity,DTO,Response,Request呢?具体有什么作用呢

    开发中,我们通常把数据模型分为几个部分,探讨下他们具体都有那些作用. 1. Entity(实体) 实体类代表数据库表结构,与数据库表一一对应. // 例如 User.cs public class U ...

  7. (二).NET6.0使用Filter过滤器

    1.创建一个webapi方法 2.创建过滤器,继承自Attribute, IAsyncActionFilter 不存在需要先手动引用有关的包:Microsoft.AspNetCore.Mvc 继承 A ...

  8. runoob-设计模式

    https://www.runoob.com/design-pattern/design-pattern-tutorial.html 设计模式(Design pattern)代表了最佳的实践,通常被有 ...

  9. mac系统如何安装nacos

    一:安装步骤1.先到nacos官网nacos.iohttp://nacos.io/ 2.点击开源版(进去下拉文档,找到 latest stable release 点进去) 3.点击下载zip文件到本 ...

  10. springboot-权限控制shiro

    1. 场景描述 (1)权限控制是IT项目特别是企业项目,绕不开的重要模块,接下来结合springboot介绍下权限控制框架shiro. (2)springboot集成shiro的东西有点多,一篇博客完 ...