在编写第一个go程序之前,记得将系统的环境变量配好:
配置go安装目录的bin目录到系统path中,这样在任何一级目录都可直接使用bin文件夹下的指令了;
新增一个GOPATH变量,值为以后创建go项目的目录路径。
下面直接是go的hello world小程序分享以及go文件的编译、运行命令;
hello.go package main import "fmt" func main() { fmt.Println("Hello World") }
终端输出:
GOROOT=C:\Go #gosetup
GOPATH=E:\Go #gosetup
C:\Go\bin\go.exe build -o C:\Users\柏杉\AppData\Local\Temp\GoLand\___go_build_hello_go.exe E:\Go\test1\hello.go #gosetup
C:\Users\柏杉\AppData\Local\Temp\GoLand\___go_build_hello_go.exe
Hello World
package greetings import "fmt" // Hello 返回指定人员的问候语。 func Hello(name string) string { // 返回在消息中嵌入名称的问候语。 message := fmt.Sprintf("Hi, %v. Welcome!", name) return message }
这是我们模块的第一个代码。它会向任何请求的呼叫者返回问候语。您将在下一步编写调用此函数的代码。
在此代码中,我们可以:
函数接受一个类型为string
的name参数。该函数还返回一个字符串。在Go中,名称以大写字母开头的函数可以由不在同一包中的函数调用。这在Go中称为导出名称。
声明一个message
变量来保存你的问候。
在Go中,:=运算符是在一行中声明和初始化变量的快捷方式(Go使用右侧的值确定变量的类型)。从长远来看,您可能会这样写:
var message string message = fmt.Sprintf("Hi, %v. Welcome!", name)
Sprintf
函数创建问候语。第一个参数是格式字符串,Sprintf用名称参数的值替换%v格式谓词。插入name参数的值完成问候语文本。使用 RabbitMQ 时,即使设置了 delivery_mode: 1(表示消息是非持久性的),消息仍可能被写入磁盘,原因如下: 1. **队列持久化**:如果队列本身被设置为持久化(durable),那么即使消息是非持久性的,RabbitMQ 也会将这些消息写入磁盘。这是因为队列持久化意味着队列的定义和队列中的消息都需要在服务器重启后保留。 2. **内存压力**:RabbitMQ 会根据内存使用情况将消息从内存转移到磁盘。当内存压力增加时,即使消息是非持久性的,RabbitMQ 也会将它们写入磁
如何使用 Golang 函数对数据结构进行深度优先遍历?
Go语言函数返回值类型推断机制
golang框架开发实战问答录:疑难问题汇总及解答
GoLand无法解析Go.mod文件中的包怎么办?
Debian OpenSSL配置难吗