Go语言是一门年轻的的语言,其目标是成为同时具备动态语言的开发速度和编译型语言的性能和安全的一门语言。它来自于C、Pascal、CSP等语言,具备他们的一部分优点,比如这句从《GO语言圣经》里摘的话所说的:“Go语言的这些地方都做的还不错:拥有自动垃圾回收、一个包系统、函数作为一等公民、词法作用域、系统调用接口、只读的UTF8字符串等”,但同时其不具有的一些特性,构造函数和析构函数、运算符重载和继承等也让新接触它的人尤为不适。 这篇笔记总结几个我接触Go语言觉得需要注意的语法。
一. 变量声明 Go语言是静态类型语言,变量声明是需要类型的。基本类型有: bool string int的各种类型(int、int8、int16、int32、int64) unit的各种类型 byte rune float32、float64 complex64、complex128 以上简单列出,主要好些我平时也不用,不太了解。
Go的变量使用Var作为标识,标准格式是名在前,类型在后
var 变量名 变量类型
可以用()批量声明 在函数内部可以省略var,采用一种简单的定义和初始化:
变量名:=表达式
这里的类型是Go语言推断的,并不是没有定义类型,且此时不可再重复提供数据类型。
二. 函数声明 Go语言函数声明的顺序不影响编译和使用,但建议按照逻辑顺序编写,养成好习惯。 Go的函数使用func关键字进行标识
func functionName(varName varType ...) (data1,data2 data1Type,data2Type){
...
return data1,data2
}
还是类型在后。 注意函数可以返回多个值,用‘,’隔开;Go语言也不用‘;’代码。 常用的返回方式是"值,异常"。