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

Golang——从入门到放弃

文章目录

  • 一、golang 简介
    • 1. go 语言特点
    • 2. go 语言应用领域
    • 3. 使用 go 语言的公司有哪些
  • 二、安装 golang
    • 1. golang 下载安装
    • 2. 配置环境变量
  • 三、golang 开发工具
    • 1. 安装 VSCode
    • 2. 下载所需插件
  • 四、第一个 golang 应用
    • 1. main 包的含义
    • 2. 示例

一、golang 简介

在这里插入图片描述

  • Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易

  • Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。
    中文网在线标准库文档

1. go 语言特点

  • 天生支持并发
  • 语法简单,容易上手
  • 内置runtime,支持垃圾回收
  • 可直接编译成机器码,不依赖其他库
  • 丰富的便准库
  • 可跨平台编译
  • 部署维护成本低

2. go 语言应用领域

  • 服务器编程
  • 开发云平台
  • 区块链
  • 分布式系统
  • 网络编程

3. 使用 go 语言的公司有哪些

  • Google
    k8s

  • Facebook
    facebookgo

  • 腾讯
    蓝鲸平台
    容器技术

  • 百度
    运维项目BFE

  • 京东
    消息推送系统、云存储、京东商城

  • 小米
    运维监控系统、小米互娱、小米商城、小米视频、小米生态链

  • 360
    日志搜索系统Poseidon

二、安装 golang

下载开发包及工具,提取码:ad1z

1. golang 下载安装

在这里插入图片描述
在这里插入图片描述

2. 配置环境变量

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

使用cmd查看配置是否成功
在这里插入图片描述

三、golang 开发工具

1. 安装 VSCode

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

使用vscode打开创建的项目文件并选择信任

在这里插入图片描述

2. 下载所需插件

下载go扩展插件
在这里插入图片描述

下载Code Runner插件
在这里插入图片描述

安装常用工具包
在这里插入图片描述

可以看到这里会下载失败,因为是外网的资源,所以需要进行配置

在这里插入图片描述

添加代理地址

配置 GOPROXY 环境变量
GOPROXY = "https://proxy.golang.com.cn,direct"

在这里插入图片描述

关闭module功能

GO111MODULE=off
无模块支持,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、第一个 golang 应用

//主包,可执行文件所在包
package main

//导入包
import "fmt"

//主函数,入口函数
func main() {
	//打印输出
	fmt.Println("hello go")
}

//输出结果
hello go

1. main 包的含义

  • 在 Go 语言里,命名为 main 的包具有特殊的含义。Go 语言的编译程序会试图把这种名字的包编译为二进制可执行文件。
  • 所有用 Go 语言编译的可执行程序都必须有一个名叫 main 的包
  • 一个可执行程序有且仅有一个 main
  • 当编译器发现某个包的名字为 main 时,它一定也会发现名为 main() 的函数,否则不会创建可执行文件
  • main() 函数是程序的入口,所以,如果没有这个函数,程序就没有办法开始执行
  • 程序编译时,会使用声明 main 包的代码所在的目录的目录名作为二进制可执行文件的文件名

2. 示例

在这里插入图片描述
在这里插入图片描述

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

相关文章:

  • 报告分享|数据变现,车企利润新增长点
  • 计算机网络基本概念
  • 零基础入门MATLAB(一篇十分钟)
  • 求最大公约数、最小公倍数、
  • 15、IOC 之ApplicationContext 的附加功能
  • Hive sql 行列转换(行转列,列转行)
  • 【MATLAB教程案例10】使用MATLAB自带的LDPC工具箱实现LDPC编译码误码率仿真
  • 小学数学学习:神奇的走马灯数 142857
  • 【OFDM系列6】MIMO-OFDM系统模型、迫零(ZF)均衡检测和最小均方误差(MMSE)均衡检测原理和公式推导
  • 点云处理简介
  • 跨域问题以及经过网关二次转发重复跨域
  • 自动控制原理9.2---线性系统的可控性与可观测性(上)
  • DOM事件流+阻止冒泡事件+dom包含
  • ZYNQ之GPIO机制
  • 第二章:Qt下载与安装 之 2.2 Qt安装
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • 【347天】每日项目总结系列085(2018.01.18)
  • Bootstrap JS插件Alert源码分析
  • CSS实用技巧
  • HTTP中的ETag在移动客户端的应用
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • overflow: hidden IE7无效
  • PHP面试之三:MySQL数据库
  • Wamp集成环境 添加PHP的新版本
  • 阿里云购买磁盘后挂载
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 前端知识点整理(待续)
  • 算法-插入排序
  • 算法---两个栈实现一个队列
  • 字符串匹配基础上
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 移动端高清、多屏适配方案
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #mysql 8.0 踩坑日记
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (论文阅读30/100)Convolutional Pose Machines
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (原創) 物件導向與老子思想 (OO)
  • (转)程序员技术练级攻略
  • ***测试-HTTP方法
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET开发人员必知的八个网站
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • @SuppressWarnings(unchecked)代码的作用
  • [android学习笔记]学习jni编程
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [asp.net core]project.json(2)