Go语言程序结构

本文详细介绍了Go语言的变量、常量、全局变量、局部变量、形式参数的声明与使用,以及常量的定义和技巧。同时,文章还涵盖了Go语言的包和文件结构,包括工作空间、包声明、标准库和第三方库的使用,以及导入包的规则。此外,文章还提及了Go程序的编码格式、注释和函数执行顺序等相关知识。
摘要由CSDN通过智能技术生成

Go语言程序结构

Go语言变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。

Go语言是静态类型语言,不能在运行期间改变变量类型。使用关键字 var 定义变量,自动初始化为零值。如果提供初始化值,可省略变量类型,由编译器自动推断。

Go语言中变量可以在三个地方声明:

函数外定义的变量称为全局变量
函数内定义的变量称为局部变量
函数定义中的变量称为形式参数

接下来让我们具体了解全局变量、局部变量和形式参数。

全局变量

在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。

局部变量
在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。

形式参数

形式参数会作为函数的局部变量来使用。

变量声明

第一种,指定变量类型,声明后若不赋值,使用默认值。

var  name string

第二种,根据值自行判定变量类型。

var age = 18

第三种,变量声明并赋值

var class string = "Linux"

第四种,一次性声明多个变量

var Mon, Tues, Wed, Thur, Fri, Sat, Sun int
 
 var (
     Monday    int
     Tuesday   int
     Wednesday int
     Thursday  int
     Friday    int
     Saturday  int
     Sunday    int
 )

第五种,短声明变量
在函数内部,可以使用更简略的 “:=” 方式定义变量。":=" 简洁赋值语句在明确类型的地方,可以用于替代 var 定义。

package  main
 
 func main() {
     name := "oldboy"
     age, class := 18, "Linux"
     _, _, _ = name, age, class
 }

注意:":=" 结构不能在函数外使用。第六种,形式参数

package main
 
 func main() {
 }
 
 func sum(a, b int) (c int) {
     c = a + b
     return
 }

变量优先级

Go语言程序中全局变量与局部变量名称可以相同,但是函数内的局部变量会被优先考虑。实例如下:

package  main
 
 import "fmt"
 
 // 声明全局变量
 var variable string = "全局变量"
 
 func main() {
    // 声明局部变量
     var variable string = "局部变量"
     fmt.Printf("结果:%s\n", variable)
 }

运行结果:

结果:局部变量

多变量赋值时,先计算所有相关值,然后再从左到右依次赋值。

package main
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值