第一个程序
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
}
这是您的模块的第一个代码。它会向任何请求的呼叫者返回问候语。您将在下一步编写调用此函数的代码。
在此代码中,您可以:
- 声明一个
greetings
包来收集相关功能。 - 实现一个
Hello
函数来返回问候语。
此函数接受一个类型为string
的name
参数。该函数还返回一个字符串。在Go中,名称以大写字母开头的函数可以由不在同一包中的函数调用。这在Go中称为导出名称。
- 声明一个
message
变量来保存你的问候。
在Go中,:=运算符是在一行中声明和初始化变量的快捷方式(Go使用右侧的值确定变量的类型)。从长远来看,您可能会这样写:
var message string
message = fmt.Sprintf("Hi, %v. Welcome!", name)
-
使用fmt包的Sprintf函数创建问候语。第一个参数是格式字符串,Sprintf用名称参数的值替换
%v
格式谓词。插入name参数的值完成问候语文本。 -
将格式化的问候语文本返回给呼叫者。
包的概念
- 和python⼀样,把相同功能的代码放到⼀个⽬录,称之为包
- 包可以被其他包引⽤
- main包是⽤来⽣成可执⾏⽂件,每个程序只有⼀个main包
- 包的主要⽤途是提⾼代码的可复⽤性