Golang基础教程(一)Go的安装与应用

jack_num1 · · 7500 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Go学习网站

https://studygolang.com/

Go的优缺点

优点

  • 学习曲线容易: 语法简洁、便于短时间上手

  • 效率: 具有快速的编译时间、开发效率和运行效率高

  • 齐全的标准库: go的标准库基本都很稳定,并且包含互联网应用、系统编程、网络编程等库

    (标准库网址:https://studygolang.com/pkgdoc

  • 部署方便: 二进制文件,可复制性部署

  • 简单的并发: 简单的即可实现并发和异步编程

  • 稳定性: go具有强大的编译检查严格的编码规范、完整的软件生命周期工具,具有很强的稳定性

缺点

  • 缺少明确的主要框架: 虽然有beego\echo\gin\lris等框架,但是目前并没有一个主要的框架。很多人可以不用框架即开始实现功能需求,php有laravel,java有spring系列,python有django

  • 错误处理: go语言通过函数和预期的调用代码简单的返回错误而帮助开发者处理编译错误,但是容易丢失错误的发生范围,一些序偶无信息可能需要自定义

  • 软件包管理: go语言虽然优秀,但是尴尬的是它没有指定版本的依赖库。

动静分离

  • 动态语言: 不需要直接指定变量类型,在解释的时候,转换为目标代码和运行程序一步到 位,比如PHP、Python、Ruby、Perl。

  • 静态语言: 变量的类型在编译之前就需要确定,在编译的时候需要先编译,将源码转换成 目标代码,然后需要运行目标代码程序才能运行,比如go、C++、Java、 Delphi、C#。

Go的安装

win的安装

下载与安装

  • 官网下载安装包:https://golang.google.cn/dl/

  • 双击安装:go1.15.5.windows-amd64.msi

  • 配置系统环境: GOPATH=你的项目地址

在这里插入图片描述

win的配置

在这里插入图片描述

安装成功

cmd命令行操作

在这里插入图片描述

Linux的安装

  • 下载二进制包:go1.15.linux-amd64.tar.gz。

  • 将下载的二进制包解压至 /usr/local目录。

  • tar -C /usr/local -xzf go1.15.linux-amd64.tar.gz

  • 将 /usr/local/go/bin 目录添加至PATH环境变量:


# 编辑文件配置

vi /etc/profile

# 将以下代码复制到最后一行

export PATH=$PATH:/usr/local/go/bin

export GOPATH=xxx地址 #项目存储的文件路径(自定义):export GOPATH=/go

# 执行文件配置使其立即生效

source /etc/profile

#查看配置是否成功

go env

安装成功

在这里插入图片描述

GO编译器

Goland(博主使用)、VSCode

GO的应用

创建文件

在src目录下创建一个hello目录,在hello目录中创建一个main.go文件:


package main  // 声明 main 包,表明当前是一个可执行程序

import "fmt"  // 导入内置 fmt

func main(){  // main函数,是程序执行的入口

    fmt.Println("Hello World!")  // 在终端打印 Hello World!

}

打包文件

go build

  • go编译器会去 GOPATH的src目录下查找你要编译的hello项目

  • 编译得到的可执行文件会保存在执行编译命令的当前目录下,如果是windows平台会在当前目录下找到hello.exe可执行文件。

运行文件


go run go文件(filename.go/filename.exe)


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:jack_num1

查看原文:Golang基础教程(一)Go的安装与应用

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

7500 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传