关键词:
环境安装
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 |
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和close5、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发布的编程语言,它是一种并发的、带垃圾回收的、快速编译的语言。它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语... 查看详情