Go语言简介,环境安装,基本结构

简介: 1.Hello Go!Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。Go 语言特色简洁、快速、安全并行、有趣、开源内存管理、数组安全、编译迅速Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。


1.Hello Go!


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


Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。


Go 语言特色


简洁、快速、安全

并行、有趣、开源

内存管理、数组安全、编译迅速

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。


对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。


2.环境安装


Go下载地址



检查:


C:\Users\dahez>go version
go version go1.18.1 windows/amd64


GoLand下载地址

配置Go Path:

1.新建一个Gopath目录



2.添加到系统变量:



3.Goland,File—Setting



4.配置Goroot:



5.配置Gopath:



这里要勾选哦~



大功告成!


3.Go 语言结构


Go 语言的基础组成有以下几个部分:

包声明

引入包

函数

变量

语句 & 表达式

注释

接下来让我们来看下简单的代码,该代码输出了"Hello World!":


package main
import "fmt"
func main() {
   /* 这是我的第一个简单的程序 */
   fmt.Println("Hello, World!")
}


让我们来看下以上程序的各个部分:


第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,每个 Go 应用程序都包含一个名为 main 的包。

下一行 import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化IO(输入/输出)的函数。

下一行 func main() 是程序开始执行的函数。main函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数

下一行 /*...*/ 是注释,在程序执行时将被忽略。

下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n

需要注意的是 { 不能单独放在一行,所以以下代码在运行时会产生错误:


package main
import "fmt"
func main()  
{  // 错误,{ 不能在单独的行上
    fmt.Println("Hello, World!")
}


4.Go的编译执行


输入命令 go run hello.go 并按回车执行代码


$ go run hello.go
Hello, World!


我们还可以使用 go build 命令来生成二进制文件


$ go build hello.go 
$ ls
hello    hello.go
$ ./hello 
Hello, World!
目录
相关文章
|
18天前
|
存储 Go 索引
go语言中数组和切片
go语言中数组和切片
27 7
|
17天前
|
Go 开发工具
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
|
18天前
|
程序员 Go
go语言中结构体(Struct)
go语言中结构体(Struct)
92 71
|
17天前
|
存储 Go 索引
go语言中的数组(Array)
go语言中的数组(Array)
100 67
|
18天前
|
存储 Go
go语言中映射
go语言中映射
32 11
|
20天前
|
Go
go语言for遍历映射(map)
go语言for遍历映射(map)
30 12
|
19天前
|
Go 索引
go语言使用索引遍历
go语言使用索引遍历
27 9
|
19天前
|
Go 索引
go语言使用range关键字
go语言使用range关键字
24 7
|
19天前
|
Go 索引
go语言修改元素
go语言修改元素
26 6
|
9天前
|
Go 数据安全/隐私保护 UED
优化Go语言中的网络连接:设置代理超时参数
优化Go语言中的网络连接:设置代理超时参数