首页 > 编程语言 >【golang学习之旅】Go程序快速开始 & Go程序开发的基本注意事项

【golang学习之旅】Go程序快速开始 & Go程序开发的基本注意事项

时间:2024-06-19 22:32:24浏览次数:13  
标签:函数 fmt 程序开发 golang go Go main

系列文章

【golang学习之旅】使用VScode安装配置Go开发环境
【golang学习之旅】报错:a declared but not used
【golang学习之旅】Go 的基本数据类型
【golang学习之旅】深入理解字符串string数据类型
【golang学习之旅】go mod tidy
【golang学习之旅】记录一次 panic case : reflect: reflect.Value.SetInt using unaddressable value
【golang学习之旅】记录一次 error case : full error output: cc1: error: unrecognized command line option


目录


快速开始

Hello World

先在本地创建一个目录,用来放我们后面的练习代码:

在这里插入图片描述

打开VScode,点击下面绿框里的按键来打开我们上面创建的目录
在这里插入图片描述

然后在这个目录下创建一个main目录,main目录下创建一个以.go为后缀的文件,名为hello_world.go

在这里插入图片描述

在文件里写入下面的代码:

package main

import "fmt"

func main() {
	fmt.Println("Hello World")
}

打开VScode的terminal,进入到go文件所在的目录下

在这里插入图片描述

然后使用go build命令对该go文件进行编译,如果编译成功则在该目录下生成 一个同名的.exe文件(Windows)

在这里插入图片描述

然后执行该exe文件

在这里插入图片描述


代码解释

我们来解读这个代码

package main

import "fmt"

func main() {
	fmt.Println("Hello World")
}
  • package main

    • Go 语言的代码通过(package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。一个包由位于单个目录下的一个或多个 .go 源代码文件组成,目录定义包的作用
    • 每个源文件都以一条 package 声明语句开始,这个例子里就是 package main,表示该文件属于哪个包
  • import "fmt"

    • 导包。包名一般都是小写
  • func main() {}

    • func关键字定义了一个函数,函数名为main
    • 一个函数的声明由 func 关键字、函数名、参数列表、返回值列表(这个例子里的 main 函数参数列表和返回值都是空的)以及包含在大括号里的函数体组成
    • main 函数是整个程序执行时的入口
  • fmt.Println("Hello World")

    • Println是fmt包里的一个基础函数,可以打印以空格间隔的一个或多个值,并在最后添加一个换行符,从而输出一整行
    • Go语言严格区分大小写。若一个包的函数要被其他包里的代码调用,那么这个函数名需要首字母大写
    • 在使用其他包的函数时,一般都是 包名.函数名 的格式

编译和运行

上面的方法是先编译再运行,实际上可以直接使用go run命令直接编译运行,但这种方式不会在目录下生成exe可执行文件

而可执行文件可以在没有Go开发环境的机器上运行

在这里插入图片描述

注意:

  • go build可以指定可执行文件的文件名(在Windows系统中必须以.exe为后缀):go build -o hello.exe

  • 如果程序有错误,在编译时会在错误的那行报错


Go程序开发的注意事项

  1. Go源文件以 “go”为扩展名

  2. Go程序的执行入口是main()函数

  3. Go语言严格区分大小写

  4. Go方法是由一条条语句构成,每个语句后不需要分号,因为Go的编译器会主动把特定符号后的换行符转换为分号

  5. Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句卸载同一行,否则报错

  6. Go程序中定义的变量或者import的包如果没有使用到,代码不能编译通过,IDE也会报红提示

    在这里插入图片描述

标签:函数,fmt,程序开发,golang,go,Go,main
From: https://blog.csdn.net/m0_60511809/article/details/139814355

相关文章

  • 基于Python+Django的高校实验室管理系统设计与实现(源码+数据库+讲解)
    文章目录前言详细视频演示项目运行截图技术框架后端采用Django框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • 基于Python+Django的高校成绩分析系统设计与实现(源码+数据库+讲解)
    文章目录前言详细视频演示项目运行截图技术框架后端采用Django框架前端框架Vue可行性分析系统测试系统测试的目的系统功能测试数据库表设计代码参考数据库脚本为什么选择我?获取源码前言......
  • Django链接数据库,ORM迁移数据库,ORM操作之数据操作,Django框架之生命周期流程图,Djan
    ⅠDjango链接数据库默认的Django数据库是sqlite3链接MySQL数据库--->电脑上则会运行MySQL【一】下载数据库【二】在settings.py设置定义参数#链接MySQL数据库DATABASES={'default':{#指定我们使用的引擎是mysql数据库的引擎'ENGINE':'......
  • Dragon Boat Festival Revised
    ​Intoday'svideo,IwanttointroducetheDragonBoatFestivaltoyou.TherearemanydifferentversionsregardingtheoriginofDragonBoatFestival,butthemostwidelyacceptedoneiscommemoratingthedeathofthepatrioticpoetQuYuan,whocom......
  • 把Deepin塞进U盘,即插即用!Deepin To Go来袭
    前言小伙伴之前在某篇文章下留言说:把Deepin塞进U盘的教程。这不就来了吗?事实是可以的。这时候你要先做点小准备:一个大小为8GB或以上的普通U盘一个至少64GB或以上的高速U盘一个Deepin系统镜像文件普通U盘的大概介绍:作为一个普通U盘,读写速度的快慢并不是很重要......
  • ABC 328F Good Set Query
    题意直接看题吧https://atcoder.jp/contests/abc328/tasks/abc328_f题解本题主要考了带权并查集,具体实现是在路径压缩的时候顺便维护一下边权(其中w[i]表示点i距离它的祖先的边权之和,fa[i]是点i的祖先)。依次遍历每一次询问,如果询问中的a与b拥有公共祖先,也就是在同一个并查集里......
  • The dragon Boat Festival revised
    TheDragonBoatFestival,atraditionalfestivaldeprivedfromChina,oftencelebratesonMay5andhaveolonghistory.BeforetheSpringandAutumnPeriodandtheWarringStatesPeriod,peopleheldDragonBoatFestivaltoeliminateillnessandmisfortun......
  • 2024-06-19:用go语言,给定一个起始下标为 0 的整数数组 nums 和一个整数 k, 可以执行一个
    2024-06-19:用go语言,给定一个起始下标为0的整数数组nums和一个整数k,可以执行一个操作将相邻两个元素按位AND后替换为结果。要求在最多执行k次操作的情况下,计算数组中所有元素按位OR后的最小值。输入:nums=[3,5,3,2,7],k=2。输出:3。解释:执行以下操作:1.将nums[0]......
  • Dragon Boat Festival Revised
    Asthedrumbeatsechoacrossthewater,theairfillswiththefragrantscentofstickyriceandbamboo.It'stheDragonBoatFestival,avibrantcelebrationthatmarksthememoryofQuYuanandinvitesustoimmerseourselvesintherichtraditions......
  • AWS无服务器 应用程序开发—第十五章 CI/CD
    创建一个针对AWSLambda的CI/CD管道,可以大大提高开发和部署的效率和可靠性。以下是一个完整的示例,包括从CodeCommit开始的代码管理、使用CodeBuild进行单元测试、使用CodePipeline进行持续集成和持续部署(CI/CD)的具体步骤。步骤1:设置AWSCodeCommit创建Co......