注册 登录

清河洛

go语言的文件结构和运行

qingheluo2021-09-02清河洛314
Go是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。Go语言吸收了前辈们的众多优秀的设计思想,是一个非常现代化的语言,精小但非常强大对于高性能分布式系统领域而言,它提供了海量并行的支持Go 语言最主要的特性:自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 匿名函数和闭包 类型和接口 并发编程 反射 语言交互性 g...

Go是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。

Go语言吸收了前辈们的众多优秀的设计思想,是一个非常现代化的语言,精小但非常强大

对于高性能分布式系统领域而言,它提供了海量并行的支持

Go 语言最主要的特性:

自动垃圾回收
更丰富的内置类型
函数多返回值
错误处理
匿名函数和闭包
类型和接口
并发编程
反射
语言交互性

go语言的基础结构

下面是一段基础的go代码

package main
import "fmt"
func main() {
   fmt.Println("Hello, World!")
}
可以同时进入多个包
import (
    "fmt"
    "math"
)

包声明:每个go代码文件必须在源文件中非注释的第一行指明这个文件属于哪个包,main包表示一个可独立执行的程序,每个Go应用程序都包含一个名为main的包

引入包:告诉Go编译器这个程序需要使用fmt包(的函数,或其他元素)

定义main函数:main函数是每一个可执行程序所必须包含的,一个程序启动后首先会自动执行init()函数(该函数可以省略),然后自动执行main()函数,main()函数既没有参数,也没有返回值

代码注释:单行注释以双斜杠(//)开头。多行注释以斜杠星(/)开头,以星斜杠(/)结尾,且不可以嵌套使用

当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,那么使用这种形式的标识符的对象就可以被外部包的代码所使用,这被称为导出(类似面向对象语言中的public);

标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(类似面向对象语言中的 protected )

在Go程序中,换行代表一个语句结束,每个语句不需要以分号结尾,这些工作都将由Go编译器自动完成

可以使用分号来认为分隔语句,这样可以将多个语句写在同一行,但不鼓励这种做法

开始的花括号({)不能单独放在一行

func main()
{
    fmt.Println("Hello, World!")
}
以上代码会报错

文件名与包名没有直接关系,文件名与包名可以不相同

文件夹名与包名没有直接关系,并不需要相同

同一个文件夹下的文件只能有一个包名,否则编译报错

执行go程序

go程序文件一般以.go为后缀

首先打开命令行,并cd进入程序所在目录

运行命令:go run file.go来执行程序

还可以把程序编译为二进制文件:go build file.go

go语言中的25个保留关键字

break      default       func     interface   select
case       defer         go       map         struct
chan       else          goto     package     switch
const      fallthrough   if       range       type
continue   for import    return   var

go语言中的36个预定义标识符

append    bool        byte         cap       close
complex   complex64   complex128   uint16    copy
false     float32     float64      imag      int
int8      int16       uint32       int32     int64
iota      len         make         new       nil
panic     uint64      print        println   real
recover   string      true         uint      uint8
uintptr


网址导航