聊聊Golang的语言结构和变量问题
作者:曲鸟 发布时间:2024-04-29 13:05:00
标签:Golang,结构,变量
一、语言结构和注意事项
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置的fmt包
func main(){ // main函数,是程序执行的入口
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
需要注意的是包裹代码的左大括号{
在Golang中不能单独成为一行,例如下面这样:
func main()
{ // 会报错
fmt.Println("Hello World!") // 在终端打印 Hello World!
}
除此之外,Golang每行的代码结尾不需要加;
号,这跟python是一样的
二、Golang的执行和打包
示例代码
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt" // 导入内置的fmt包
func main(){ // main函数,是程序执行的入口
fmt.Println("按回车键退出:")
fmt.Scanln()// 按回车键退出
}
通过点击goland编辑器右上角【绿色三角按钮】进行执行
通过命令
go run go代码文件
打包为可执行文件进行执行:
go build go代码文件
三、Golang的变量
1. 定义变量
1)在golang中定义变量的一般形式是使用 var 关键字,例如定义一个名为a
的int类型变量:
var a int
但如果仅定义不使用该变量的话,执行代码会报错,这跟Python是不同的:
.\test.go:7:6: a declared but not used
通过打印到终端的方式使用定义的变量a
:
package main // 声明 main 包,表明当前是一个可执行程序
import "fmt"
func main(){ // main函数,是程序执行的入口
var a int
fmt.Println(a)
}
输出结果
0 //golang仅定义变量而未赋值的话,则初始值为假,(int为0,bool为false,string为‘')
2)也可以定义一个有初始值的变量:
var a int = 3
3)也可以同时定义多个变量:
var a, b int = 3, 4
4)也可以不指定类型:
var a, b = 3, 4
5)甚至不带var
关键字的简洁定义 :
a, b, c := 3, 4,"c"
6)合并定义:
var (
a = 3
b = 4
)
2. 变量名规则
Golang变量名由字母、数字、下划线组成,其中首个字符不能为数字,例如下面的代码执行就会报错:
var 1a bool
报错输出结果
unexpected literal 1, expecting name
来源:https://blog.csdn.net/momoda118/article/details/121024894


猜你喜欢
- 本文实例为大家分享了vue移动端图片裁剪上传的具体代码,供大家参考,具体内容如下1.安装cropperjs依赖库npm install cr
- 如下所示:import pandas as pdfile = pd.read_csv('file.csv',iterator
- 这里就简单介绍两种: 一、增加超时的时间限制 这里需要注意:set_time_limit只是设置你的PHP程序的超时时间,而不是file_g
- 本文实例讲述了Python图像处理之直线和曲线的拟合与绘制。分享给大家供大家参考,具体如下:在数据处理和绘图中,我们通常会遇到直线或曲线的拟
- 本文实例讲述了python求pi的方法,是一篇翻译自国外网站的文章,分享给大家供大家参考。具体实现方法如下:#_*_ coding=utf-
- 淘宝的 NPM 镜像是一个完整的npmjs.org镜像。你可以用此代替官方版本(只读),同步频率目前为 15分钟 一次以保证尽量与官方服务同
- 一、背景描述csv格式文件是一种类似于excel的文件格式asc格式文件是一种可以用text打开的文本文件csv转asc本来可以用arcgi
- asp中fso怎样判断一个盘上是否有文件,实例代码,需要的朋友可以试试:<% dim objfolder dim
- JavaScript图片水平翻转后垂直翻反转的特效一:<!--把下列代码加到body区域内--><SCRIPT langu
- 0x00 前言大家对HTTP代理应该都非常熟悉,它在很多方面都有着极为广泛的应用。HTTP代理分为正向代理和反向代理两种,后者一般用于将防火
- Selenium一、简介selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样selen
- 1.什么是内存逃逸在一段程序中,每一个函数都会有自己的内存区域分配自己的局部变量,返回值,这些内存会由编译器在栈中进行分配,每一个函数会分配
- 本文实例讲述了JavaScript简单获取页面图片原始尺寸的方法。分享给大家供大家参考,具体如下:这里通过Image()对象获取原始宽高这种
- <? //作者:www.tongqiong.com //header("content-type:text/html; ch
- 当很多人发现在DW4中定义CSS很方便的时候,开始报怨FP2000不能定义CSS,甚至就此抨击FP2000如何的不好。事实上,在FP2000
- 1.Airbus Ship Detection Challengeurl: https://www.kaggle.com/comp
- 目录一、线程基础以及守护进程二、线程锁(互斥锁)三、线程锁(递归锁)四、死锁五、队列六、相关面试题七、判断数据是否安全八、进程池 &
- 最近要做一个网站需要用到天气预报,本来是想找到API,自己写一个自己的天气预报小程序的,没有成功,只好去找现成的代码调用。经过测
- 如下所示:import osimport shutil#path of imgrpath = 'D:\\BaiduNetdiskDo
- 我们的网络协议一般是把数据转换成JSON之后再传输。之前在Java里面,实现序列化和反序列化,不管是 jackson ,还是 fastjso