go语言源文件包含什么?Go语法规范
【摘要】 简述了一下一个go文件中都有什么东西,对go语言有一个大致的了解。
简单的概述一下go语言源文件中都包含什么?
(一)包声明(五颗星)
①第一个非注释行必须进行声明这个文件属于哪个包,package main 表示一个可独立执行的程序
每一个go应用程序都必须包含一个名为main的包(并且仅含有一个main函数)
②文件名与包名没有直接的关系,不一定将他们两个命名相同
③同一个文件夹下的所有文件只能属于同一个包,否则编译报错
④一个包下可以包含多个文件,并且文件之间的函数,变量可以直接使用。
例如:
package main//这里的包名可以换成自己写的
(二)导包
import "fmt"告诉go编译器这个程序需要使用fmt包
而fmt包实现了I/O函数
导包的时候需要搭建好环境,并且注意路径。导入多少包使用多少包(杜绝资源浪费)
例如:
import (
"fmt"
"io/ioutil"
"net/http"
//导入的包必须使用,如果不使用可以使用以下方法导入,否则就会报错
_ "os"
)
(三)标志符命名注意点(五颗星)
如果一个标志符(常量、变量、类型、函数名、结构字段等)以大写字母开头
那么这个变量可以在外部包的代码中使用(只有当所在的包被导入时才生效)
类似于面向对象中的public权限,如果标识符以小写字母开头
那么他对外部不可见,对本包可见并可用,类似于protected
标志符的组成由数字、字母、下划线组成,并且开头的不能是数字、关键字不可以作为标识符
(四)语句和作用域:
作用域定义:作用域为已声明标识符所表示的常量、变量、函数或包在源码中的作用范围。
go语言变量可以在三个地方声明:
<1>函数内定义的变量称为局部变量
<2>函数外定义的变量称为全局变量
全局变量首字母大写在包导出后在其他包内也可以使用
全局变量首字母小写仅可在本包内使用
<3>函数定义中的变量称为形式参数
形参作为该函数的局部变量来使用
go语言中全局变量与局部变量名称可以相同,但是函数内的局部变量会被优先考虑(就近原则)
语句规范:
一般而言在go语言中一行只放一句代码
不像python使用tab键格式化严格规范,
不像c,java那样一行可以写多句代码,
也不像c/c++那样用;代表语句结束,go也可以一行写多个语句用;隔开但是 一般不提倡这么做
(五)go语言中变量的声明(三颗星)
(1)变量声明用var进行声明
(2)或者直接用a:=10 这种方式会给a进行自动赋值,并且根据所赋的值设置a的类型。
注意: 如果一个变量没有初始化,就将数值型变量置为0,引用型变量置为nil。
如果局部变量只有声明没有使用就会进行编译出错
例如:
目的:声明一个变量a,并将10赋值给a
使用var
方法一:
var a = 10
方法二:
var a int
a = 10
方法三:
var a int =10
直接赋值
a := 10
(六)注释
与c、c++一样,在go语言中单行注释用//,多行注释用/**/
(七)函数
func main()是程序开始的执行函数,main函数是每一个可执行程序需要包含的
一般来说都是在启动程序后第一个执行的函数
如果有init()函数会先执行init()函数
函数可以有多个返回值,也可以传任意个不同类型的参数。(后面会细说)
工欲善其事,必先利其器 。先对go语言文件有一个大致的理解,再进行学习起来就很方便啦
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)