首页 > 其他分享 >Go 语言变量作用域

Go 语言变量作用域

时间:2023-08-14 11:56:42浏览次数:37  
标签:变量 作用域 fmt var int Printf Go main 函数

局部变量

在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内

package main

import "fmt"

func main() {
/* 声明局部变量 */
var a, b, c int

/* 初始化参数 */
a = 10
b = 20
c = a + b

fmt.Printf ("结果: a = %d, b = %d and c = %d\n", a, b, c)
}

全局变量

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

形式参数

package main import "fmt" /* 声明全局变量 */ var a int = 20 func main() { /* main 函数中声明局部变量 */ var a int = 10 var b int = 20 var c int = 0 fmt.Printf("main()函数中 a = %d\n", a) c = sum( a, b); fmt.Printf("main()函数中 c = %d\n", c) } /* 函数定义-两数相加 */ func sum(a, b int) int { fmt.Printf("sum() 函数中 a = %d\n", a) fmt.Printf("sum() 函数中 b = %d\n", b) return a + b }

标签:变量,作用域,fmt,var,int,Printf,Go,main,函数
From: https://www.cnblogs.com/fczlm/p/17628241.html

相关文章

  • Golang: 如何交叉编译
    0.golang可以交叉编译出不同操作系统运行的程序1.在macm2架构下,golang程序mian文件所在的主目录下,即可生成#在命令行进入项目根目录,并执行以下命令CGO_ENABLED=0GOOS=xxxGOARCH=xxxgobuild参数说明:CGO_ENABLED:是否使用 C语言 版本的 GO 编译器。0 表示不......
  • Django博客开发教程:使用ckeditor富文本编辑器添加数据
    前一篇没用,我测试了集成ueditor之后没法上传图片,ueditor百度早就停止维护了,于是我想到了改用ckeditor,结果一遍成功富文本即具备丰富样式格式的文本。可以是包含了HTML语法格式的字符串。为了快速简单的让用户能够在页面中编辑带html格式的文本,引入富文本编辑器。  一、安......
  • 带转义字符的字符串变量 如何不被转义
    问题:val="\061"python中如何使val的输出为r"\061"而不自动转义为"1"val="\061"repr(val)输出的结果是"'1'"这不是我想要的我想要的输出结果是r"\061"解决:val="\061"encoded_val=val.encode().decode('unico......
  • golang简单实现CLHLock,不可重入的clh自旋锁
    如果不想自旋,可以把Lock、waitIsFinish和noticeIsFinish代码中的方式2注释掉,改用方式1。不过实际测试在低并发的情况下,自旋的执行效率更高,要根据实际业务场景选择使用哪种方式。源代码如下:import("runtime""sync/atomic")const(Gosched_Spin_Count=10000......
  • MongoDB
    MongoDBMongoDB是一个开源的,跨平台的文档数据库管理系统,它属于NoSQL的一种,旨在满足现代应用程序对灵活性,可拓展性和高性能的需求,MongoDB支持面向文档的数据存储模型,使开发人员能够以更自然的方式存储和查询数据,而无需遵循传统的关系型数据库结构。以下是MongoDB的一些重要特点和......
  • Linux 配置Node环境变量[通俗易懂]
    大家好,又见面了,我是你们的朋友全栈君。修改/etc/profile文件,在末尾添加以下内容exportNODE_HOME=/usr/local/node//Node所在路径exportPATH=$NODE_HOME/bin:$PATH复制修改完成后需要重新登陆才能生效,也可以执行命令source/etc/profile或者./etc/profile来生效(注意......
  • Go中flag用法
    flag包实现了命令行标志解析。使用flag.String(),Bool(),Int()等定义标志。这声明了一个整数标志-n,存储在指针nFlag中,类型为*int:import"flag"varnFlag=flag.Int("n",1234,"helpmessageforflagn")如果您愿意,您可以使用Var()函数将标志绑定到一个变量。......
  • Go语言中的flag
    Go语言的flag包提供了一个简单的方式来定义和解析命令行参数。以下是如何使用flag包的基本步骤和示例:1.定义参数使用flag包的相关函数来定义命令行参数。例如,你可以使用StringVar、IntVar和BoolVar来定义字符串、整数和布尔值参数。2.调用flag.Parse()这将解析......
  • 学习go语言编程之错误处理
    error接口Golang中有一个关于错误处理的标准模式,即:error接口。typeerrorinterface{ Error()string}对于大多数函数,如果要返回错误,大致上都可以定义为如下模式:funcFoo(paramint)(nint,errerror){ //...}将error作为多种返回值中的一个,但是这并非强制要求。......
  • 学习go语言编程之面向对象
    类型系统类型系统是指一个语言的类型体系结构,一个典型的类型系统通常包含如下基本内容:基础类型,如:byte、int、bool、float等复合类型,如:数组、结构体、指针等可以指向任意对象的类型(Any类型)值语义和引用语义面向对象,即:所有具备面向对象特征(比如成员方法)的类型接口为类型添......