GO语言学习笔记(三):第一个GO语言程序与常量定义

分类:
GO
标签:
基础
学习笔记
作者:
何鑫
创作时间:
2019/07/04 15:50:20

摘要:常量与变量是程序的基础

第一个GO语言程序

既然已经搭建好开发环境,了解了GO语言的元素符号,我们不妨来写下第一个GO语言程序。

我们使用的开发工具是GoLand,这是JetBrains出品的一款GO语言IDE工具,推荐使用。

新建一个工程goproject,然后依次建包besthexin.cn->src->main,最后新建main.go文件,作为程序入口,编写代码如下:

package main // main 包

import "fmt" // 导入fmt包

func main()  {
   // 在控制台打印 "hello World"
   fmt.Println("hello World !")
}

运行:hello World !

我们来看下这段代码的结构:

package main   -> 声明包;

import "fmt"     -> 导入fmt包,fmt包是GO语言标准库的打印函数包;

func main()       -> func用来定义函数,这里定义一个可以直接运行的main函数;

fmt.Println("")   -> 使用fmt包的Println函数在控制台打印hello World!

怎么样,是不是很简洁清晰!

GO语言中的常量

常量是指在编译期就已经确定的不可更改的量,在GO语言中常量使用关键字const来都定义。

常量的定义格式为:

const identifier [type] = value

例如:

const name  = "hexin"

或者:

const name string = "hexin"

两个都可以用来定义常量,区别在于第一个少了常量的类型,GO语言编译器可以做到自动推导类型,所以可以不写类型。

如果我们要一次声明多个常量,可以这样:

const (
   name = "hexin"
   sex = "男"
   age = 24
)

还可以这样:

const name, sex, age = "hexin", "男", 24

但是注意不能全部加类型:

const name string, sex string, age int = "hexin", "男", 24 // 这是错的,不能编译过

如果是同一类型,可以这样声明:

const name, sex, age string = "hexin", "男", "24" // 这样是可以的

在GO语言中常量可以定义而不使用(变量不可以)。

枚举

我们可以使用常量实现枚举(GO没有枚举类型)。

const (
   Spring = 0
   Summer = 1 
   Autumn = 2 
   Winter = 3
)

如果枚举较多呢,我们是不是都得自己赋值?

其实不用,GO语言为我们提供了一个特殊的关键字iota,我们可以这样定义:

const (
   Spring = iota
   Summer  // 实际是 Summer = iota
   Autumn
   Winter
)

iota可以从0开始,实现递增,我们打印一下值看下有没有问题:

func main() {
   fmt.Println(Spring, Summer, Autumn, Winter)
}

获得结果:0 1 2 3,完全一样,且更加简洁,是不是很棒!

发表评论

温馨提示: 评论先审核后发布, 请勿发表不良言论

所有评论