【Golang】语法基础——基本语法

Go的基本语法十分简洁且简单,下面是一个简单的示例:
package main

import "fmt"

func main() {
   fmt.Println("Hello World!")
}

package关键字代表的是当前go文件属于哪一个包,启动文件通常是main包,启动函数是main函数,在自定义包和函数时命名应当尽量避免与之重复。

import是导入关键字,后面跟着的是被导入的包名。

func是函数声明关键字,用于声明一个函数。

fmt.Println("Hello Wordld!")是一个语句,调用了fmt包下的Println函数进行控制台输出。

每个 Go 程序都由包构成。程序从 main 包开始运行。

包其实就是一个文件夹,包内共享所有源文件的变量,常量,函数以及其他类型。包的命名风格建议都是小写字母,并且要尽量简短。

导入包

例如创建一个example包,包下有如下函数

package example

import "fmt"

func SayHello() {
   fmt.Println("Hello")
}

main函数中调用

package main

import "example"

func main() {
    example.SayHello()
}

还可以给包起别名

package main

import e "example"

func main() {
   e.SayHello()
}

批量导入时,可以使用括号()来表示

package main

import (
   "fmt"
   "math"
)

func main() {
   fmt.Println(math.MaxInt64)
}

或者说只导入不调用,通常这么做是为了调用该包下的init函数。

package main

import (
   "fmt"
    _ "math" // 下划线表示匿名导入
)

func main() {
   fmt.Println(1)
}

注意:在Go中完全禁止循环导入,不管是直接的还是间接的。例如包A导入了包B,包B也导入了包A,这是直接循环导入,包A导入了包C,包C导入了包B,包B又导入了包A,这就是间接的循环导入,存在循环导入的话将会无法通过编译。

导出包

在Go中,导出和访问控制是通过命名来进行实现的,如果想要对外暴露一个函数或者一个变量,只需要将其名称首字母大写即可,例如example包下的SayHello函数。

package example

import "fmt"

// 首字母大写,可以被包外访问
func SayHello() {
   fmt.Println("Hello")
}

如果想要不对外暴露的话,只需将名称首字母改为小写即可,例如下方代码

package example

import "fmt"

// 首字母小写,外界无法访问
func sayHello() {
   fmt.Println("Hello")
}

对外暴露的函数和变量可以被包外的调用者导入和访问,如果是不对外暴露的话,那么仅包内的调用者可以访问,外部将无法导入和访问,该规则适用于整个Go语言,例如后续会学到的结构体及其字段,方法,自定义类型,接口等等。

注释

Go支持单行注释和多行注释,注释与内容之间建议隔一个空格,例如

// 这是main包
package main

// 导入了fmt包
import "fmt"

/*
*
这是启动函数main函数
*/
func main() {
	// 这是一个语句
	fmt.Println("Hello 世界!")
}

 

标识符

标识符就是一个名称,用于包命名,函数命名,变量命名等等,命名规则如下:

  • 只能由字母,数字,下划线组成
  • 只能以字母和下划线开头
  • 严格区分大小写
  • 不能与任何已存在的标识符重复,即包内唯一的存在
  • 不能与Go任何内置的关键字冲突
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值