由于最近负责项目的语言解析部分,需要接触到各种不同的语言,因此特地来看看Go语言的语法。golang是一种面向过程的语言,它没有类的概念,同时语法比较简单直白。
根据go的官方描述,这种语言的优势在于服务端并行具有更高的开发效率,因此广泛运用在Web服务器中。所以即使平时不用go语言,学会读懂也是很有好处的。
go和java比较类似,具有包的概念,源文件的非注释第一行需要指明文件的包
使用import关键词声明导入的包
func main为主函数入口
package main
import "fmt"
func main() {
/* 这是我的第一个简单的程序 */
fmt.Println("Hello, World!")
}
通过这段程序我们可以看到,go语言与java相同的是具有package,import关键词(注意import的包需要用引号包含),同时函数体通过花括号。而一行代码结束不需要分号,这点与python比较类似。
go是强类型静态语言,因此声明一个变量必须声明数据类型,通过关键字 var Value Type进行变量声明,也可以直接给变量赋具体值,会自动将变量设置为相应类型。
var a, b *int
var (
a int
b string
c []float32
d func() bool
e struct {
x int
}
)
var stockcode=123
var enddate="2021-8-7"
x:=100
以上声明方式都是合法的,需要注意的是,在go语言中是有指针概念的,与c++相同,指针变量的声明为*Type
Go语言的函数通过关键词func声明,后跟函数名,参数,返回值放在参数后面
func max(num1, num2 int) int {
var result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
go语言可以通过结构体定义新的数据类型,但是结构体和类不同,无法在结构体内定义函数
type Books struct {
title string
author string
subject string
book_id int
}