Go介绍

Posted guotianbao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 {
    ...
}

以上是关于Go介绍的主要内容,如果未能解决你的问题,请参考以下文章

你知道的Go切片扩容机制可能是错的

windows通过Visual Studio Code中配置GO开发环境(转)

在Visual Studio Code中配置GO开发环境

golang代码片段(摘抄)

Go切片实现

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段