GO语句写法
两个包之间调用
1,在不同目录调用
2,在同一个目录下调用
GO 中协程演示
GO语句写法
在test.go文件中编写测试代码
package main
import (
"fmt"
)
func main() {
fmt .Print1n("he11o wor1d")
}
1.第一行代码package main定义了包名。你必须在源文件中非注释的第一-行指明这个文件属于哪个包,如: Package main,Package main表示个可独立执行的程序,每个Go应用程序都包含一个名为 main的包。
2,import "fmt"告诉Go编译器这个程序需要使用fmt包(的函数,或其他元素) , fmt 包实现了格式化io(输入/输出)的函数。
3,func main()是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的, -般来说都是在启动后第一个执行的函数(如果 有init()函数则会先执行该函数)。
4,/../是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以/1开头的单行注释。多行注释也叫块注释,均已以/* 开头,并以 */结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
5,fmt.Println..可以将字符申输出到控制台,并在最后自动增加换行字符\n。使用fmt.Print("hello, world\n")可以得到相同的结果。Print和Println这两个函数也支持使用变如:fmt.Println(arr)。 如果没有特别指定,它们会以默认的打印格式将变量arr输出到控制台。
6.当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如: Group1, 那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包), 这被称为导出(像面向对象语言中的public) ;标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的protected )。
以下是错误代码
package main
import "fmt"
func main()
{//错误,{不能在单独的行上
fmt .Print1n("He11o, Wor1d!")
}
两个包之间调用
1,在不同目录调用
第一个包文件(专门定义函数,工具)
package tool
import "fmt"
//自定义函数,大写表示权限为公共,可以跨包被调用
func Hello() {
fmt.Println("hello world")
}
第二个包文件(作为程序的主函数,调用工具)
package main
import "dev_code/day2/example1/tool"
//主函数
func main() {
tool.Hello()
}
可以输出运行主函数(运行前一定要保存)
[Running] go run "f:\goProject\src\dev_code\day2\example1\main\main.go"
hello world
[Done] exited with code=0 in 0.565 seconds
调用的步骤:
import 导入包名
包名.函数名称(大写首字母)
2,在同一个目录下调用
第一个包
package main
import "fmt"
//函数名定义为小写,同一个包中可以直接调用,跨包不可被调用
func hello() {
fmt.Println("hello world")
}
第二个包
package main
func main() {
hello()
}
在终端运行
PS F:\goProject> cd .\src\dev_code\day2\example1\tool\
PS F:\goProject\src\dev_code\day2\example1\tool> go run ./
hello world
PS F:\goProject\src\dev_code\day2\example1\tool>
GO 中协程演示
第一个包
package goroute
import "fmt"
//定义变量的 var name type:var a int 不可以var int int(类型与名字相同)
func Test_goroute(a int) {
fmt.Println(a)
}
第二个包
package main
import "dev_code/day2/example2/goroute"
//协程:可以处理高并发的请求
func main() {
for i := 0; i < 100; i++ {
go goroute.Test_goroute(i)
}
}
输出结果(输出不会按顺序执行,是协程同时执行。)
[Running] go run "f:\goProject\src\dev_code\day2\example2\main\main.go"
0
8
10
4
9
1
12
11
......
86
88
89
90
91
92
93
[Done] exited with code=0 in 0.54 seconds
————————————————
版权声明:本文为CSDN博主「LiuHuan303」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LiuHuan303/article/details/123545341