Golang简介
Go(又称Golang)是Google开发的一种静态强类型、编译型语言,它适用于多种平台,包括Windows、macOS和Linux等,Go语言的设计目标是实现简单、高效、并发性强的编程模型,Go语言于2007年由Robert Griesemer、Rob Pike和Ken Thompson共同设计,并于2009年正式发布。
环境搭建
1、下载安装
访问Go语言官方下载页面:https://golang.org/dl/ ,选择适合自己操作系统的安装包进行下载,下载完成后,按照提示进行安装即可。
2、配置环境变量
在安装完成后,需要配置环境变量,以便在命令行中使用Go命令,具体操作如下:
Windows系统:将Go的bin目录(如C:Gobin)添加到系统的PATH环境变量中。
macOS和Linux系统:在~/.bashrc或~/.bash_profile文件中添加以下内容:export PATH=$PATH:/usr/local/go/bin
然后执行source ~/.bashrc
或source ~/.bash_profile
使配置生效。
Hello World
编写一个简单的Hello World程序,演示Go语言的基本语法和运行方式。
package main import "fmt" func main() { fmt.Println("Hello, World!") }
基本数据类型
1、整型:int8、int16、int32、int64、uint8、uint16、uint32、uint64
2、浮点型:float32、float64
3、复数:complex64、complex128
4、bool类型:bool
5、string类型:string
6、空接口:interface{}
7、nil值:nil
8、字节切片:[]byte
9、字符串切片:[]string
10、数组类型:array<T> T表示元素类型,3]int表示一个长度为3的整型数组。
11、映射类型:map<K, V> K表示键类型,V表示值类型,例如map[string]int表示一个字符串到整型的映射。
12、结构体类型:struct {字段名 字段类型} type Person struct {Name string; Age int}表示一个包含姓名和年龄的结构体。
13、接口类型:interface{} 可以表示任意类型的值,用于实现多态,一个类型只有当它的所有方法都实现了接口中的方法时,才能被隐式转换为该接口类型,type Animal interface {Speak() string}表示一个动物应该有Speak方法的接口。
控制结构
1、if条件判断语句:if condition {} else {} else {} if condition {} else {} else {} … else {}表示如果condition成立,则执行if后面的代码块;否则,依次执行else后面的代码块,直到遇到break或者return语句为止,注意:else后面的代码块只有在当前if条件不成立时才会被执行。
2、for循环语句:for init; condition; post {}表示从init开始,每次循环前执行init,每次循环后执行post,直到condition不成立为止,注意:for循环中的init和post部分可以省略。
3、switch分支语句:switch expression := expression; case value1; result1 break; case value2; result2 break; … default result default {}表示根据expression的值与case后的value进行比较,如果相等,则执行对应的result,并跳出switch语句;如果没有匹配到任何case,则执行default后面的代码块,注意:break关键字用于跳出当前switch分支。
4、select分支语句:select expression := expression; case value1 -> result1; case value2 -> result2; … default -> result default {}表示根据expression的值与case后的value进行比较,如果相等,则执行对应的result;如果没有匹配到任何case,则执行default后面的代码块,注意:select语句中的每个case都是阻塞的,即在一个case被执行过程中,其他case不会被执行,如果需要非阻塞的多个case,可以使用goroutine实现。
5、defer语句defer func() {body};表示在函数返回之前执行一段代码,注意:defer语句只能用在函数中,不能用在匿名函数或者闭包中,defer语句不能改变局部变量的作用域。
6、go语句go func() {body};表示创建一个新的goroutine来执行func函数中的代码,注意:go语句只能用在函数声明之后,不能用在函数定义之前,go语句不能嵌套使用。
7、range遍历语句range expression := expression; for index, item := range expression {};表示遍历expression中的每个元素,将元素的值赋给index和item两个变量,然后执行for循环体内的代码,注意:range语句只能用在可迭代对象(如数组、切片、字符串、map等)上。
8、return语句return expression;表示提前结束函数的执行,并将expression的值作为函数的返回值,注意:return语句必须放在函数体中,且只能出现一次,如果没有return语句或者return后面没有表达式,则函数会默认返回nil。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/152225.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复