go语言入门

lwli lwli     2022-10-01     334

关键词:

环境安装

Go 语言支持以下系统:

    • Linux
    • FreeBSD
    • Mac OS X(也称为 Darwin)
    • Window

  安装包下载地址为:https://golang.org/dl/

  Windows下直接下载对应的版本安装就可以了。

Hello World

  新建hello.go,输入以下代码:

 

package main

import "fmt"

func main() {
   fmt.Println("Hello, World!")
}  

  命令行运行 go run hello.go

  注意:package指包名,和所属文件夹无关,入口程序的package必须是main。import引入包。func 定义函数,入口程序的函数名必须是main。

IDE

  LiteIDE是一款开源、跨平台的轻量级Go语言集成开发环境(IDE)。项目地址:https://github.com/visualfc/liteide

  JetBrains开发的JetBrains GoLand,https://www.jetbrains.com/go/download/

 

go语言结构

  

Go 语言的基础组成有以下几个部分:

    • 包声明
    • 引入包
    • 函数
    • 变量
    • 语句 & 表达式
    • 注释

 

  接下来让我们来看下简单的代码,该代码输出了"Hello World!":

 

package main

import "fmt"

func main() {
   /* 这是我的第一个简单的程序 */
   fmt.Println("Hello, World!")
}

  1、第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。 

  2、下一行 import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。

  3、下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。

  4、下一行 /*...*/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。

  5、下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 。 

 

go语言基础语法

  行分隔符

  在 Go 程序中,一行代表一个语句结束。分号(;)是可选的,如果打算将多个语句写在同一行,它们则必须使用 ; 分割,但在实际开发中不要使用这种做法。

  注释

  注释不会被编译,每一个包应该有相关注释。go的注释和c,java一样,有单行注释//,和多行注释 /* ... */

// 单行注释

/*

我是多行注释

*/

  标识符

  标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A~Z和a~z)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。

  以下是有效的标识符:

mahesh   kumar   abc   move_name   a_123
myname50   _temp   j   a23b9   retVal

  以下是无效的标识符:

    • 1ab(以数字开头)
    • case(Go 语言的关键字)
    • a+b(运算符是不允许的)

  下面列举了 Go 代码中会使用到的 25 个关键字或保留字:

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var


  除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符:

append bool byte cap close complex complex64 complex128 uint16
copy false float32 float64 imag int int8 int16 uint32
int32 int64 iota len make new nil panic uint64
print println real recover string true uint uint8 uintptr


程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。程序一般由关键字、常量、变量、运算符、类型和函数组成。

程序中可能会使用到这些标点符号:点号. 逗号, 分号;  冒号: 三个点号…

  

Go 语言数据类型

在 Go 编程语言中,数据类型用于声明函数和变量。

 

  1、布尔型

  布尔型的值只可以是常量 true 或者 false。

2、数字类型

  整型 int 和浮点型 float,Go 语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码。

  整型分有符号和无符号:

  uint8,uint16,uint32,uint64,int8,int16,int32,int64分别表示无符号和有符号的8位,16位,32位,64位整型

  浮点型:

  float32 32位浮点数,float64位浮点数。complex64 32位实数和虚数,complex128 64位实数和虚数

  其他数字类型:  

byte  类似 uint8
rune  类似 int32
uint  32 或 64 位
int  与 uint 一样大小
uintptr  无符号整型,用于存放一个指针

3、字符串类型:

字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。

4、派生类型:

包括:
(a) 指针类型(Pointer)
(b) 数组类型
(c) 结构化类型(struct)
(d) Channel 类型
(e) 函数类型
(f) 切片类型
(g) 接口类型(interface)
(h) Map 类型

 

go语言从入门到规范-3.1go并发

Go语言从入门到规范-3.1、Go并发文章目录​​Go语言从入门到规范-3.1、Go并发​​​​1、Go程​​​​2、信道​​​​3、带缓存的信道​​​​4、range和close​​​​5、select语句​​​​6、默认选择​​​​7、互斥​​1、Go程G... 查看详情

go语言入门指南零基础入门go语言|golang入门指南(代码片段)

文章目录写在前面全部练习项目都在github这个仓库中`https://github.com/CocaineCong/Golang-Learning`1.【第一轮】基础部分1.1教程1.2练习2.【第二轮】网络爬虫2.1教程2.2mod管理第三方包2.3git机制3.【第三轮】备忘录4.【第四轮】商城or视... 查看详情

go语言入门指南零基础入门go语言|golang入门指南(代码片段)

文章目录写在前面全部练习项目都在github这个仓库中`https://github.com/CocaineCong/Golang-Learning`1.【第一轮】基础部分1.1教程1.2练习2.【第二轮】网络爬虫2.1教程2.2mod管理第三方包2.3git机制3.【第三轮】备忘录4.【第四轮】商城or视... 查看详情

go语言入门

环境安装Go语言支持以下系统:LinuxFreeBSDMacOSX(也称为Darwin)Window  安装包下载地址为:https://golang.org/dl/。  Windows下直接下载对应的版本安装就可以了。HelloWorld  新建hello.go,输入以下代码: packagemainimport"fmt"funcmain()... 查看详情

go入门笔记

《Go程序设计语言》作者Kerninghan教授与谷歌GO开发团队核心成员联合编写,Go语言编程圣经。本笔记是学习翻阅此书中文翻译版,整理而成。非常感谢李道兵、高博等辛苦的翻译。GoIDE-Golang使用入门参考如下。https://www.2cto... 查看详情

go语言从入门到实战

一、Go语言背景和发展1.软件开发的新挑战多核硬件架构超大规模分布式计算集群Web模式导致的前所未有的开发规模和更新速度2.Go的三位创始人RobPike:Unix的早期开发者,UTF-8创始人KenThompson:Unix的创始人,C语言创始人,1983年获... 查看详情

go入门go语言(代码片段)

【Go】入门Go语言前言Go这门语言在当下已经越来越火热了,无论是后端开发岗,还是逆向安全岗位,亦或是渗透领域,乃至脚本小子…各个领域的人员都在分Go这一杯羹。并且在最近越来越多的CTF比赛中,Go逆... 查看详情

go语言入门——dep入门

...出现了大量maven的内容,更适合java程序员阅读,如果你的语言做依赖管理的方案与maven差异很大,可能在有些地方会不理解  从很久之前go语言在依赖解决和管理方面方案的匮乏就被不少人诟病。光指望goget指令,很多事办不成... 查看详情

go语言入门

条件语句   go语言的条件语句结构如下:   go语言的条件语句和其他语言类似。简单列举下:  1、if语句,布尔表达式不需要括号  if布尔表达式{  /*在布尔表达式为true时执行*/  }  2、if...else语句if布尔... 查看详情

go语言入门

Go语言变量  Go语言变量名由字母、数字、下划线组成,其中首个字母不能为数字。  声明变量的一般形式是使用var关键字:  varidentifiertype变量声明  第一种,指定变量类型,声明后若不赋值,使用默认值。  varv_name... 查看详情

go语言入门(代码片段)

go语言入门目录go语言入门go语言环境安装linuxwindowsgo命令查看可用命令build和run命令fmt和doc命令get命令install命令test命令go语言环境安装linuxaptinstallgolangyuminstallgolang-ywindows下载地址添加环境变量,#使用一下命令测试安装是否成功gove... 查看详情

go基础:入门学习资料(代码片段)

Go入门文档Google文档Documentation-TheGoProgrammingLanguageGo语言圣经(中文版)前言·Go语言圣经https://book.itsfun.top/gopl-zh/《Go入门指南》|Go技术论坛《Go入门指南》|Go技术论坛我们致力于为Golang/Go语言开发者提供一个分享创造、结... 查看详情

go语言入门篇-基本流程控制

一。if语句二。switch语句三。for语句四。select语句      查看详情

go语言的开始入门

...言:作为Web开发人员掌握多种后台是必须的,趁自己有C语言的基础,所以尝试入门Golang(一).基本数据类型的认识  小结:int大小默认与系统相关,byte只能够存单字节,  (二).Golang中的变量定义  小结:定义的... 查看详情

go语言入门:包(代码片段)

  示例代码:packagemainimport"fmt"funcmain()fmt.Println("hello,world")1.包1.1概念  go中包的概念相当于Java中的类;  一个go文件只属于一个包,一个包可以包含多个go文件;  每个go文件的非注释的第一行都是用package xxx; 表... 查看详情

go语言入门篇-高级数据类型

一。数组类型二。切片类型切片的更多操作方法示例:三。字典类型四。通道类型示例:通道的更多种类示例:五。函数mooc  查看详情

go语言入门教程:安装

 关注公众号:雨哥写python。学习Go语言,比较下和python的用法,争取对python有更深的理解。为什么学Go我主要使用python语言,其他语言用得不多,希望学一门语言和python做对比。或许能对python有更深的理解。这门语言最好是... 查看详情

go语言语法入门

引言GoGo语言是谷歌2009发布的编程语言,它是一种并发的、带垃圾回收的、快速编译的语言。它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语... 查看详情