当前位置: 首页 > ai >正文

C++GO语言微服务项目之go语言概述

目录

01-go语言介绍-课程介绍

02-GOPATH-GOROOT配置

03-helloworld详解

04-go语言介绍1

05-go语言特点2

06-go命令-设置git终端方法


01-go语言介绍-课程介绍

## go语言本身

1. 为什么学习go语言?
2. go语言2008年前后由google公司开发,开发人员都是c语言的大佬
3. 2020年4月TIOBE排名12位
4. 开发速度快,执行效率高:
   1. 开发速度:c < go < python
   2. 效率:python < go < c
5. go语言开发的项目:docker, k8s,区块链项目(以太坊,fabric)
6. 公司开发新项目、旧项目重构:**后台服务器、web服务器**  ==》 使用go语言
7. go语言找工作一般都会认为是其他语言转行过来,一般会理解为c语言转行过来的(尤其体现在面试上)
8. go语言在中国的发展格外迅速: 七牛云、滴滴

02-GOPATH-GOROOT配置

## 学习内容

1. 4天go语言语法
2. 8天~10天微服务项目(go语言实现的web框架, redis, mysql, fastdfs, )



# 安装开发环境goland

见安装文档



# go语言与c语言对比

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

03-helloworld详解

go语言: golang

开发工具:goland

# 一、Go语言概述

## 1. 工程管理

### - GOPATH

gopath是所有项目的根路径

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

- src
  - 放我们自己的源代码
- bin
  - 编译之后的程序之后,使用标准命令go install之后存放位置
- pkg
  - 缓存包

![1585876845114](assets/1585876845114.png)

04-go语言介绍1

### - GOROOT

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

![1585876951563](assets/1585876951563.png)





配置goland,打开工程

![1585877074201](assets/1585877074201.png)



## 2. helloworld 概览

```go
package main

import "fmt"

func main()  {
    fmt.Println("hello world")
}
```

解析:

```go
//每个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");
}
```

05-go语言特点2

## 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
   3. ![1585878427649](assets/1585878427649.png)

## 4. goland终端配置成shell

06-go命令-设置git终端方法

![1585879090077](assets/1585879090077.png)

重新加载一下终端即可:

![1585879111680](assets/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](assets/1585879323268.png)

3. 安装程序  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](assets/1585879778579.png)

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

http://www.xdnf.cn/news/4136.html

相关文章:

  • 【AI】Ubuntu 22.04 4060Ti 16G vllm-api部署Qwen3-8B-FP8
  • 模型迭代与调优:加速实验周期,释放创新潜能
  • Os 库报错指南 路径处理常见陷阱
  • Hello Robot 推出Stretch 3移动操作机器人 提升开源与可用性
  • 从 MDM 到 Data Fabric:下一代数据架构如何释放 AI 潜能
  • 洛谷---P1629 邮递员送信
  • C语言 指针(7)
  • 第一节:Web3开发概述
  • 修复CosyVoice中的ModuleNotFoundError: No module named ‘diffusers.models.lora‘记录
  • SQLite数据类型
  • 嵌入式面试八股文(十四)·内存管理机制、优先级继承机制以及优先级翻转
  • 【日撸 Java 三百行】Day 4(条件语句实战——闰年问题)
  • 【BUG】mmdetection ValueError: need at least one array to concatenate
  • 人事管理系统7
  • 【Python 文件I/O】
  • 【Harbor v2.13.0 详细安装步骤 安装证书启用 HTTPS】
  • 【AI】Ubuntu 22.04 evalscope 模型评测 Qwen3-4B-FP8
  • 上传下载接口
  • Android第六次面试总结之Java设计模式(二)
  • vue3+ts+自定义指令,生产页面水印
  • 云计算训练营笔记day02(Linux、计算机网络、进制)
  • 论文速读《Embodied-R: 基于强化学习激活预训练模型具身空间推理能力》
  • STL之stackqueue
  • 【Vue.js】 插槽通信——具名插槽通信
  • 大模型在宫颈癌诊疗全流程预测与应用研究报告
  • 免费视频压缩软件
  • Paramiko 性能优化详解
  • 神经网络之互动练习详解:从基础到拟合非线性数据
  • 【回眸】QAC使用指南——导出 Dashboard Report个性化定制Report
  • NLP中词嵌入的几个方法介绍快速入门视频推荐