内容简介:下载链接:GoLand需要登录激活,这里激活你可以选择自己破解或者购买正版!另外:创建项目是记得配置GOROOT
1:Mac环境下搭建开发环境
开发工具GoLand
下载链接: https://studygolang.com/dl
加黑的为推荐版本
GoLand需要登录激活,这里激活你可以选择自己破解或者购买正版!
另外:创建项目是记得配置GOROOT
GOROOT
这样基本的搭建环境就配置好了!
2:编写第一个程序"hello world"
2.1:创建一个main.go
2.2:导入头文件
import "fmt"//导入格式化 func main() {//启动函数 fmt.Println("hello world")//打印hello world }
这样第一份代码就写完了!也标志着我们要开始学习 Go 语言了!
3:Go语言基本语法与使用
数据类型分为
整形:
按长度分为: int8 int16 int32 int64 还有对应的无符号整型:uint8 uint16 uint32 uint64
浮点型:
Go语言支持两种浮点整数: float32:最大范围约为 3.4e38,可以使用常量定义:math.MaxFloat32 floa642:最大范围约为 1.8e308,可以使用常量定义:math.MaxFloat64
布尔型:
布尔型数据只有true和false Go语言中不允许将整型强制转换为布尔型,代码如下: fmt.Println(int(n) * 2) 编译错误,输出如下: cannot convert n (type bool) to type int 布尔型无法参与数值运算,也无法与其他类型进行转换
字符串:
字符串的值为双引号中的内容,可以在Go语言的源码中直接添加非ASCII码字符,代码如下:
str := "hello world" ch := "中文"
切片--能动态分配空间
切片是一个拥有相同类型元素的可变长度序列,切片的声明方式如下:
var name []T
其中T代表切片元素类型,可以是整型,浮点型,布尔型,切片,map,函数等.
切片的元素使用"[]"进行访问,在方括号中提供切片的索引即可访问元素,索引的范围从0开始,切不超过切片的最大容量,代码如下:
a := make([]int, 3)//创建一个容量为3的整型切片 a[0] = 1//为切片元素赋值 a[1] = 2 a[2] = 3 字符串也可以按切片的方式进行操作: str := "hello world" fmt.Println(str[6:]) 代码输出如下: world
3.1声明变量
var a int//声明一个整型类型的变量,可以保存整数数值 var b string//声明一个字符串类型的变量 var c []float32//声明一个32位浮点切片类型的变量,浮点切片表示由多个浮点类型组成的数据结构 var d func() bool//声明一个返回值为布尔类型的函数变量,这种形式一般用于回调函数,即将函数以变量的形式保存下来,在需要的时候重新调用这个函数 var e struct{//声明一个结构体变量,拥有一个整型的x字段 x int }
标准式
var 变量名 变量类型
批量式
var ( a int b string c []float32 d func() bool e struct{ x int } )
3.2初始化变量
标准格式
var 变量名 类型 = 表达式 例如:游戏中玩家的血量初始值为100. 可以这样写: var hp int = 100 这句话中,hp为变量名 类型为int hp的初始值为100
编译器推导类型的格式
例如: var hp = 100
短变量声明并初始化
hp := 100 //ps:如果hp被声明过再使用":="时编译器会报错.代码如下" var hp = 100 hp := 100 //编译报错如下 //no new variables on left side of := //提示, 在:=的左边没有新变量出现,意思就是":="的左边变量已经被声明了.短变量声明的形式在开发中例子比较多,比如: conn, err := net.Dial("tcp","127.0.0.1:8080") //net.Dial提供按指令协议和地址发起网络链接,这个函数有两个返回值,一个是链接对象,一个是err对象.如果是标准格式将会变成: var coon net.Conn var err error conn, err = net.Dial("tcp","127.0.0.1.8080") //因此,短变量声明并初始化的格式在开发中使用比较普遍
另外,在多个短变量声明和赋值中,至少有一个新声明的变量出现在左值中,即便其他变量名可能是重复声明的,编译器也不会报错,代码如下:
conn, err := net.Dial("tcp","127.0.0.1:8080") conn2, err := net.Dial("tcp","127.0.0.1:8080")
3.3多个变量同时赋值
编程最简单的算法之一,莫过于变量交换,传统方法编写变量交换代码如下:
var a int = 100 var b int = 200 var t int t = a a = b b = t fmt.Println(a,b) //但是计算机内存非常"精贵",所以大牛们就发明了另外一种算法 var a int = 100 var b int = 200 a = a ^ b b = b ^ a fmt.Println(a,b) //到了Go语言时,内存不再是紧缺资源,而且写法可以更简单.使用Go的"多重赋值"特性,可以轻松完成变量交换任务; var a int = 100 var b int = 200 b, a = a, b fmt.Println(a,b)
3.4 匿名变量--没有名字的变量
在使用多重赋值时,如果不需要在左值中接收变量,可以使用匿名变量.
匿名变量的表现是一个"_"下划线,使用匿名变量时,只需要在变量声明的地方使用下划线替换即可
func GetData() (int,int) { return 100, 200 } a, _ := GetData() _, b := GetData() fmt.Println(a,b)
匿名函数不占用命名空间, 不会分配内存.匿名变量与匿名变量之前也不会因为多次声明而无法使用!
入门教程(一): https://www.jianshu.com/p/de26de7ca907
后续会继续更新~~~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构与算法分析
韦斯 (Mark Allen Weiss) / 机械工业出版社 / 2013-2-1 / 79.00元
本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。 随着计算机速度的不断增加和功能的日益强大,人们对有效编程和算法分析的要求也不断增长。本书将算法分析与最有效率的Java程序的开发有机地结合起来,深入分析每种算法,并细致讲解精心构造程序的方法,内容全面、缜密严格。 第3版的主要更新如......一起来看看 《数据结构与算法分析》 这本书的介绍吧!