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

Go语言入门:从零开始的快速指南(一)

文章目录

  • 引言
  • Go语言的诞生背景
  • Go 语言的特性
  • 安装Go语言环境
  • 集成开发环境安装
  • 第一个Go程序
  • Go 源代码的特征解读

引言

Go语言(也称为Golang)是一种开源的、静态类型的编程语言,由Google开发。它的设计目标是简单、高效、安全、并且易于学习和使用。Go语言的特点包括并发支持、垃圾回收、快速编译、强大的标准库等,使其在云计算、网络服务、大数据处理等领域广受欢迎。本篇博客将带您从零开始,快速创建Go语言的第一个项目。

Go语言的诞生背景

Go 语言的诞生主要基于如下原因 :

  1. 摩尔定律接近失效后多核服务器己经成为主流,当前的编程语言对并发的支持不是很
    好,不能很好地发挥多核CPU的威力 。
  2. 程序规模越来越大,编译速度越来越慢,如何快速地编译程序是程序员的迫切需求。
  3. 现有的编程语言设计越来越复杂,由于历史的包袱,某些特性的实现不怎么优雅,程
    序员花费了更多的精力来应对编程语法细节而不是问题域。

Go 语言就是为了解决当下编程语言对并发支持不友好、编译速度慢、编程复杂这三个 问题而诞生的 。

Go 语言的特性

在这里插入图片描述

安装Go语言环境

首先,您需要在本地计算机上安装Go语言环境。前往Go官方网站下载适合您操作系统的安装包,按照提示完成安装。
在这里插入图片描述

  • 下载完成,双击,一路next,记住安装路径
  • 安装完成打开命令行,输入命令 “go”(会自动把环境变量给配好)
    在这里插入图片描述

集成开发环境安装

推荐GoLand,安装方法和Java的IDEA一样的,可以使用EAP版本或者教育认证下载。

  • 新建项目
    在这里插入图片描述
  • 添加前面安装好的Go环境,找到前面记住的路径
    在这里插入图片描述
  • 选择项目位置
    在这里插入图片描述
  • 配置项目位置的GOPATH(把默认的改一下就好了)
    在这里插入图片描述

第一个Go程序

  • 起始界面(2023版本我用不惯那个新UI,所有我切回旧UI了)
    在这里插入图片描述
  • 创建源代码文件
    在这里插入图片描述
  • 输入源代码
package mainimport ("fmt"
)func main() {fmt.Println("hello world")
}

如果识别不了关键字就打开提示,选择之前记住的GO环境
在这里插入图片描述

  • package main
    定义一个包,包名为 main , main 是可执行程序的包名,所有的 Go 源程序文件头部必须有一个包声明语句, Go 通过包来管理命名空间 。
  • import “fmt”
    import 引用 一个外部包 fmt , 可以是标准库的包,也可以是第三方或自定义的包,
    fmt 是标准输入/输出包。
  • func main() {}
    func关键字声明定义一个函数,函数名为main, main代表 Go 程序入口函数。
  • fmt.Println(“hello world”)
    调用 fmt 包里面的 Printfln 函数,函数实参是一个字符串字面量 , 在标准输出里面
    打印一句话“ hello world”。

Go 源代码的特征解读

  • 源程序以 .go 为后缀。
  • 源程序默认为 UTF-8 编码。
  • 标识符区分大小写 。
  • 语句结尾的分号可以省略。
  • 函数 func开头 , 函数体开头的“{”必须在函数头所在行尾部,不能单独起一行。
  • 宇符串字面量使用“ " " ”(双引号)括起来。
  • 调用包里面的方法通过点“ . ”访问符,比如示例中的 fmt.Printfln。
  • main 函数所在的包名 必须是 main 。
http://www.lryc.cn/news/105138.html

相关文章:

  • Windows7+内网, 安装高版本nodejs,使用vite+vue3+typescript开发项目
  • 【C语言day14】
  • 暑假刷题第19天--8/1
  • Java开发中的------修改密码+忘记密码
  • ffmpeg安装
  • Mac电脑目录
  • 一起学算法(栈篇)
  • Ubuntu开机自启服务systemd.service配置教程(Ubuntu服务)(Linux服务)upstart
  • 大数据课程E4——Flume的Channel
  • es6中的Map和Set数据结构
  • MyBatis 框架基本的增删改查
  • Javascript--JSON
  • Rust: error: failed to run custom build command for `openssl-sys v0.9.71`
  • Excel修改日期格式,改变日期的筛选方式
  • 【RabbitMQ(day2)】默认(直连)交换机的应用
  • 谷粒商城第八天-商品服务之品牌管理的整体实现(直接使用逆向生成的代码;含oss文件上传)
  • 阿里云率先荣获容器集群稳定性先进级认证
  • 【SpringBoot笔记37】SpringBoot基于@ServerEndpoint、@OnMessage等注解的方式集成WebSocket
  • PyTorch(安装及卸载)
  • webScoket
  • 【C语言初阶(20)】调试练习题
  • MicroPython ESP32网页实时更新DHT11数据显示
  • JavaWeb之HTML基础篇(一)
  • TVM_深度学习编译器
  • Flutter InheritedWidget 共享状态管理
  • 什么是反射?Java反射?反射的优缺点
  • 小红书2020校招测试开发后端笔试题卷三
  • python数据可视化Matplotlib
  • firewalld防火墙
  • iMacros WebBrowser Component for .NET