标签:编译 声明 like 静态 work 作用 导入 将不 参数类型
Go语言是编译型、静态类型的类C的语言,并带有GC(垃圾收集器,garbage collection)
Go采用汇编语言作为编译后的底层语言
Go编译时很快,运行时不再需要加载额外的依赖
Go必须指定数据类型,但除了在声明变量的时候显式指定数据类型,也可以让Go自己去推断数据类型
Go是类C型(C-like)的语言,有一些语法和特性和C语言是类似的
Go有GC的机制,可以对变量进行跟踪,并且在它们不再被需要的时候自动释放它们
package main
import ( "fmt" )
func main() {
fmt.Println("Hello‘ World")
}
运行 helloworld.go 文件
go run helloworld.go
go run 命令同时进行了编译和运行两个过程:它将使用一个临时目录保存构建的程序,然后执行它,最后自动清理构建出来的临时程序
go run --work可以查看具体情况
go build helloworld.go 是显式编译,会在当前目录生成一个helloworld的二进制文件
package main
import (
"fmt"
"os"
)
import 导入包,多个包要换行,通过包名点出相应函数
在Go中,变量需要先声明,再赋值使用
package main
import ( "fmt" )
func main(){
var age int
age=24
fmt.Println("age =",age)
}
Go在变量的声明期间会为其做初始化赋值:int类型初始化赋值为0,booleans初始化赋值为false,strings初始化赋值为""
声明和赋值操作合并
var age int = 24
快捷的声明+赋值方式 ,只能在函数内部进行下面的快捷声明赋值
age := 24
:= 在Go中属于类型推断操作,它包含了变量声明和变量赋值两个过程
变量声明之后不能再次声明(除非在不同的作用域),之后只能使用=进行赋值
Go允许我们使用 := 一次性声明、赋值多个变量
Go第一次推断出该变量的数据类型之后,就不允许:=再改变它的数据类型,后期只能通过 := 进行简单赋值,同时:= 的左边需要有新的变量(多变量声明赋值情况)
变量声明之后必须使用,否则会报错,因为Go对规范的要求非常严格
// 该函数有一个参数,没有返回值
func logger(msg string){
...
}
// 该函数有两个参数,一个返回值,返回值的类型为int
func add(a int,b int) int {
...
}
// 该函数一个参数,两个返回值,分别是int和bool
func power(name string) (int,bool) {
...
}
有些时候,我们可能并不需要所有的返回值。例如,我们只想要取得power()的第二个返回值。这时可以将不想要的返回值丢给特殊符号下划线_,它表示丢弃这部分结果
_,name := power("alex")
if name == 'alex' {
...
}
函数的参数类型相同,则不同的参数可以共享数据类型
func add(a,b int) int {
...
}
标签:编译 声明 like 静态 work 作用 导入 将不 参数类型
原文地址:https://www.cnblogs.com/guotianbao/p/10460960.html