Go编程细节
go语言函数中,变量写在前面,类型写在后面,Go语句后不用带分号。
Go程序的后缀是 .go。
Go语言严格区分大小写。
package main:表示test01.go文件所在包是main。
import “fmt”:表示引入了一个包fmt,引入后就能使用包内函数。
func main() {}:这是一个关键字,后面对应是一个函数。main是主函数,即程序的入口。
定义的变量或者import的包如果没有用到,代码不能编译通过。
不能把多条语句写在同一行会报错。
go build指令生成可执行文件,该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行。
编译(compilation , compile) 指把高级语言(源码)变成计算机可以识别的二进制语言。
在CMD中快速进入指定目录的小技巧:
1.打开源文件所在目录,在路径栏输入cmd+回车,即可快速进入CMD。
2.在该目录下按住“Shift+鼠标右键”,单击“在此处打开PowerShell”即可
作为Go初学者,先结合CMD来执行程序编译和运行。
转义字符(escape char)、注释
\t:表示一个横向制表符,相当于空格
\n:表示换行符
*\:表示一个*
“:表示一个”
\r:表示一个回车
\v: 纵向制表符
行注释: // 注释内容
块注释:
/
注释内容
/
块注释里不允许有块注释嵌套,VSCode选中代码 Ctrl+斜杠(/)会自动生成行注释,再按一次注销,IDEA通用
Go官方推荐行注释来注释方法和语句,官方标准包注释。
缩进和空白
使用一次tab操作实现缩进,默认整体向右移动,恢复使用shift+tab向左移动。
使用gofmt来进行格式化:
gofmt -w test02_02.go
运算符两边各增加一个空格,比如:2 + 3 * 5。
编程指南、API标准库
官方文档和源码:https://golang.org
点击“Tour”可进入编程指南。
Go语言是通过包(packages)的形式来管理它的函数的,点击“packages”可查看官方标准包说明文档。
比如import "fmt"中对应的函数及功能,直接查询“fmt”,点击“index”。
API(Application Programming Interface,应用程序编程接口)是Golang 提供的基本编程接口。
Go中文网在线标准库文档:https://studygolang.com/pkgdoc
Go的包、源文件及函数的关系:
调用函数:import 包名
使用函数:包名.函数名
Go安装src目录包含对应源码
Dos命令行常用指令
DOS:Disk Operating System,磁盘操作系统,即Windows目录结构。
dir:查看当前目录
cd 盘符:切换到其他盘符
cd …:切换到上一级目录
cd \:切换到根目录
md(make directory):新建目录
新建多个目录:md test01 test02
rd:删除目录
带询问删除目录及下面的子目录和文件:rd /s test02
新建一个空文件:type nul>hello.txt
新建或追加内容到文件:echo hello > hello.txt
显示文件内容:type hello.txt
复制文件并重新文件名:copy hello.txt d:\world.txt
移动文件:move d:\world.txt c:
删除指定文件:del d:\world.txt
删除指定目录中txt结尾所有文件:del *.txt
清屏:cls
退出dos:exit
package main
import "fmt" //引入包fmt 提供格式化、输出、输入函数
func main() {
fmt.Println("姓名\t年龄\t籍贯\t行业\nyxz\t30\t四川\t公务员")
}
package main
import (
"fmt"
"time"
)
func main() {
//获取当前日期
today := time.Now()
fmt.Println("当前日期为:", today)
//分别获取年月日
year := today.Year()
month := today.Month()
day := today.Day()
fmt.Println("年:", year)
fmt.Println("月:", month)
fmt.Println("日:", day)
fmt.Printf("%d-%02d-%02d", year, month, day)
}
package main
import "fmt"
func main() {
var result = 0
for i := 0; i <= 100; i++ {
result += i
}
fmt.Println("1+2+...+100=", result)
}
package main
import "fmt"
func main() {
var len = 5
for i := 0; i < len; i++ {
for j := len - i; j > 0; j-- {
fmt.Print("*")
}
fmt.Print("\n")
}
}