Go介绍

介绍

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 {
    ...
}

猜你喜欢

转载自www.cnblogs.com/guotianbao/p/10460960.html
今日推荐