作为学习的第一个go程序,先hello world一下
package main
import "fmt"
func main(){
fmt.Println("hello world")
}
打开terminal
键入 go run hello.go
就可以看到输出
localhost:firstProject yichen$ go run hello.go
hello world
那么第一个go程序就完成了
编译
鉴于go是一个编译型语言
,那就编译一下
在terminal执行go build hello.go
会发现在项目目录下多了一个hello
文件,直接输入./hello
即可执行
localhost:firstProject yichen$ go build hello.go
localhost:firstProject yichen$ ./hello
hello world
这里解释一下什么是编译型语言
编译型语言
不是写完后就直接可以执行,而是需要经过编译
翻译成机器语言才可以运行,这一类语言都有着运行速度快的共性,因为在运行前已经翻译好,机器直接运行就可以了
对应的,还有一种语言是解释型语言
,这一类语言完成编写后即可运行。但机器并不能直接理解这种语言,这里就需要解释器
来为机器解释。相对于编译型语言来说,这类语言会更慢一些,因为解释器的翻译过程是不可忽视的时间成本。
因为我是java开发出身,所以这里不得不提一下我对java
的语言类型理解。虽然它也是一门编译型语言,但因为编译后的内容是包含字节码
的class文件,所以必须运行在jvm
上,由jvm来向机器进行翻译,所以java
应该属于这两种类型。也正因为此,java的跨平台性更强。
程序的入口
这里回来看一下刚刚hello.go
中的代码,注意到第一行
package main
go语言规定,程序的入口必须引入main这个包,并且必须包含一个main方法
方法
go语言中定义方法需要使用关键词func
,例子如下
package main
import "fmt"
func main(){
fmt.Println("hello world")
myfunc()
}
func myfunc(){
fmt.Println("this is my func")
}
那么运行一下看看结果
localhost:firstProject yichen$ go run hello.go
hello world
this is my func
那么简单的方法实现与调用就完成了。