go语言程序
1、编写第一个go程序
新建一个文件 ~/code/example.go ,写入
// 声明该文件所在包,如果是主程序就是
package main
// 导入库,fmt用来处理标准输入输出
import "fmt"
// main 函数是整个程序的入口,main 函数所在的包名也必须为 `main`
func main() {
// 调用fmt包的Println方法,在屏幕输出信息
fmt.Println("Hello World!")
}
2、解读程序
1.package main
声明了 main.go 所在的包,Go 语言中使用包来组织代码。一般一个文件夹即一个包,包内可以暴露类型或方法供其他包使用。
是必须要有的一行
2.import “fmt”
fmt 是 Go 语言的一个标准库/包,用来处理标准输入输出。此处是导入fmt模块
详细用法:稍后在后文会有介绍
3.func main
main 函数是整个程序的入口,main 函数所在的包名也必须为 main 。
!!主包中必须包含一个main函数!!
4.fmt.Println(“Hello World!”)
调用 fmt 包的 Println 方法,打印出 “Hello World!”
5.其他知识点:
一行代表一个语句结束,多个语句写在同一行,它们则必须使用 ; 人为区分
注释:
单行注释: //
多行注释:/* sth */
标识符:同python标识符规则
3、运行代码
1、直接运行
执行 go run example.go ,将会输出
go run example.go
Hello World!
2、先编译再执行
编译成二进制可执行程序,build后,你会发现在同级目录下会生成一个同名的可执行文件(无扩展名)
go build example.go
执行该程序,注意给予可执行权限
./example
go语言命令
go语言配置并解决不能查看源码问题
1、设置module管理模式
go env -w GO111MODULE=on
2、设置下载源
go env -w GOPROXY=https://goproxy.cn
3、进入存放代码的地方,执行以下命令,解决不能查看源码的问题
go mod init mycode
go get golang.org/x/tools/cmd/guru
go build golang.org/x/tools/cmd/guru
mv guru $(go env GOROOT)/bin
go语言里fmt包的用法
1、介绍
1、fmt 是一个用于输入输出常用的库。更多方法可以参考:官方网站
2、在 fmt 包,有关格式化输入输出的方法就两大类: Scan 和 Print ,分别在scan.go 和 print.go 文件中
2.Print:输出函数
1、print系列主要包含三个方法
print:直接输出内容, 不会换行 ,不能格式化输出。
printf: 按照指定格式化文本输出内容。
println:能够在输出内容后面 加上换行符 。
2、案例演示
//源代码:
package main
import "fmt"
func main() {
// 一次输入多个值的时候 Println 中间有空格,能自动换行
fmt.Println("Hello", "Println")
// 一次输入多个值的时候 Print 没有中间空格,Print 不会自动换行;
fmt.Print("Hello", "Print")
// Printf 是格式化输出,在很多场景下比 Println 更方便,Printf也不会换行
fmt.Printf("Hello Printf %s", "AAA")
}
//输出效果:
// Hello Println
// HelloPrintHello Printf AA
3.Scan:输入函数
1、scan系列主要用于输入,例如在交互式界面中获取用户输入
2、案例:
//源代码
package main
import "fmt"
func main() {
var name string
fmt.Print("输入你的姓名:")
fmt.Scan(&name)
fmt.Printf("你输入的姓名是:%s", name)
}
//输出效果
//输入你的姓名:张三
//你输入的姓名是:张三
注意:
1、Scan 后面需要使用 &,否则会被视为直接传参进去。
2、变量定义了没有使用也会报错,导入了模块没有使用也会报错