golang 语言概述

129 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

go语言与c语言对比

hyperpolyglot.org/c //<<==== 重要

go语言: golang

开发工具:goland

一、Go语言概述

1. 工程管理

- GOPATH

gopath是所有项目的根路径

go语言的项目,需要有特定的目录结构进行管理,不能随便写,一个标准的go工程需要有三个目录:使用一个名为GOPATH的环境变量来指定:

  • src

    • 放我们自己的源代码
  • bin

    • 编译之后的程序之后,使用标准命令go install之后存放位置
  • pkg

    • 缓存包

1585876845114.png

- GOROOT

存放go语言的标准库sdk: software development kit

1585876951563.png

配置goland,打开工程

1585877074201.png

2. helloworld 概览

package main
​
import "fmt"func main()  {
    fmt.Println("hello world")
}

解析:

//每个go程序,都必须有一个 package main
//每个go程序,都是.go结尾的
//go程序中没有.h,没有.o, 只有.go
//一个package,包名,相当于命名空间
//std::cout
package main
​
//这是导入一个标准包fmt,format,一般用于格式化输出
import "fmt"//主函数,所有的函数必须使用func 开头
//一个函数的返回值,不会放在func前,而是放在参数后面
//函数左花括号必须与函数名同行,不能写到下一行
func main() {
​
    //go语言语句不需要使用分号结尾
    fmt.Println("hello world");
}

3. go语言特点

  1. 没有头文件概念, .go走天下

  2. 强类型的语言,编译性语言(pthon是弱类型,解释性语言)

  3. 一个go语言的应用程序,在运行的时候是不需要依赖外部库的

    1. 把执行时需要的所有库都打包到程序中
    2. go程序比较大
    3. 如果import的包在程序中没有使用,那么程序不允许编译
  4. go语法是不区分平台的,在windows下面也可以编译一个程序,在linux下运行,需要两个环境变量来控制:

    1. GOOS:设定运行的平台

      1. mac:GOOS=darwin
      2. linux: GOOS= linux
      3. windows :GOOS=windows
    2. GOARCH: 目标平台的体系构架

      1. 386: GOARCH=386
      2. amd64: GOARCH=amd64
      3. arm : GOARCH=arm

1585878427649.png

4. goland终端配置成shell

1585879090077.png

重新加载一下终端即可:

1585879111680.png

5. go命令(build/run/install/env)

  1. 编译.go文件,-o指定生成文件的命令

    1. go build -o test.exe main.go xxx.go
    2. go build *.go
  2. 直接运行程序,不会编译成exe文件

    1. go run *.go

1585879323268.png

  1. 安装程序 go install

    1. 拿到一个c源码,想自己编译出exe

      1. ./configure
      2. make
      3. make install ===> 将编译好的程序安装到指定的目录/usr/bin
    2. 使用go install,可以将应用程序安装到GOBIN下面: $GOPATH/bin

      1. go install ==> 需要实现在环境变量中设置GOBIN的目录

1585879778579.png

  1. go env,可以查看当前go的环境变量
  2. 如果重新设置了环境变量,需要重新启动goland才能生效