Go
文章平均质量分 50
记忆中的那一抹夕阳
这个作者很懒,什么都没留下…
展开
-
Go语言基础(一)环境与安装
Go的下载Go 的官方网站:http://golang.org/国内下载地址:https://studygolang.com/dl下载对应平台的安装包。注意区分32位还是64位操作系统。安装包下载完成之后,安装过程很简单,傻瓜式下一步到底就好了。Go 环境变量安装go 的时候,安装程序会自动把相关目录写到系统环境。但是如果是zip 的安装,需要自己手动添加。主要配置以下...原创 2018-12-02 15:15:28 · 1585 阅读 · 0 评论 -
Go语言基础(十四)包和封装
封装1. 名字一般使用CamelCase2. 首字母大写:public3. 首字母小写: private 采用驼峰命名的方式,首字母大写表示public,小写表示private,公开和私有是相对于package包来说的,每个目录下只能有一个包,main包包含可执行程序入口。为结构定义的方法必须放在同一个包内,但是可以是不同的文件。node.go的报名为treepackag...原创 2018-12-06 10:48:44 · 528 阅读 · 0 评论 -
Go语言基础(十五)GOPATH环境变量
GoPath环境变量默认在~/go(unix,linux),%USERPROFILE%\go(windows)官方推荐:所以项目和第三方库都放在同一个GOPATH下但是也可以将每个项目放在不同的GOPATHgo install/go get和 go的工具等会用到GOPATH环境变量. GOPATH是作为编译后二进制的存放目的地和import包时的搜索路径 (其实也是你的工作目录,...原创 2018-12-06 10:49:08 · 1113 阅读 · 0 评论 -
Go语言基础(十三)结构体和方法
go语言仅支持封装,不支持继承和多态。go语言没有class,只有struct。定义structstruct声明:type 标识符 struct {field1 typefield2 type}示例:type treeNode struct { value int left,right *treeNode}func main() { var root ...原创 2018-12-05 15:28:23 · 228 阅读 · 0 评论 -
Go语言基础(十二)字符和字符串处理
rune相当于go的charfunc main() { s := "Good我想要吃饭!" fmt.Println(len(s))}运行结果如下:s的长度是20,这个20是怎么出来的?func main() { s := "Good我想要吃饭!" fmt.Println(len(s)) for _,b := range []byte(s){ fmt.Pri...原创 2018-12-05 11:37:33 · 421 阅读 · 0 评论 -
Go语言基础(十一)Map
Map 是一种无序的键值对的集合。Map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。Map 是一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,Map 是无序的,我们无法决定它的返回顺序,这是因为 Map 是使用 hash 表来实现的。定义mapfunc main() { m1 := map[string]string{ "studen...原创 2018-12-05 10:56:53 · 168 阅读 · 0 评论 -
Go语言基础(九)数组
数组Go 语言提供了数组类型的数据结构。数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。相对于去声明number0, number1, ..., and number99的变量,使用数组形式numbers[0], numbers[1] ..., numbers[99]更加方便且易于扩展。数组元素可以通过索引(位置...原创 2018-12-03 10:20:48 · 123 阅读 · 0 评论 -
Go语言基础(八)指针
指针Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。import "fmt"func main() { var a int = 5 fmt.Printf("变量a的内存地址是:%x\n",&a)}运行结果如下:什么是指针一个指针变量指向了一个值的内存地址。类似于变量和常量,在使用指针前你需要声明指针。指针声明格式如下:...原创 2018-12-02 22:00:07 · 117 阅读 · 0 评论 -
Go语言基础(七)函数
函数定义Go 语言函数定义格式如下:func function_name( [parameter list] ) [return_types] { 函数体}函数定义解析:func:函数由 func 开始声明 function_name:函数名称,函数名和参数列表一起构成了函数签名。 parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值...原创 2018-12-02 21:36:02 · 185 阅读 · 0 评论 -
Go语言基础(六)循环
for循环for的条件里不需要括号for的条件里可以省略初始条件,结束条件,递增表达式package mainimport ( "fmt" "strconv")//将十进制转换为二进制func convertToBin(n int) string { result := "" for ;n > 0; n/=2{ lsb := n%2 result =...原创 2018-12-02 17:39:11 · 177 阅读 · 1 评论 -
Go语言基础(五)条件语句
if条件语句package mainimport ( "fmt" "io/ioutil")func main() { const filename = "abc.txt" contents,err :=ioutil.ReadFile(filename) if err == nil { fmt.Println(err) }else { fmt.Printf("%s...原创 2018-12-02 17:19:02 · 222 阅读 · 0 评论 -
Go语言基础(四)常量和枚举
常量定义常量使用关键字const,go语言常量不用大写func contst() { const name = "abc.txt" const a,b = 3,4 var c int c = int(math.Sqrt(a*a+b*b)) fmt.Println(c)}枚举特殊的常量类型枚举func enums() { const ( java = ...原创 2018-12-02 16:50:41 · 440 阅读 · 0 评论 -
GO语言基础(三)内建变量类型
内建变量类型rune类似于其他语言的charGo提供了两种大小的复数类型:complex64和complex128,分别由float32和float64组成。内置函数complex从指定的实部和虚部构建复数复数的复习我们把形如z=a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位。当虚部等于零时,这个复数可以视为实数;当z的虚部不等于零时,实部等...原创 2018-12-02 16:38:01 · 521 阅读 · 0 评论 -
Go语言基础(十)Slice(切片)
Go 语言切片是对数组的抽象。Go语言中数组是具有固定长度而且拥有零个或者多个相同或相同数据类型元素的序列。由于数组长度固定,所以在Go语言比较少直接使用。而slice长度可增可减,使用场合比较多。更深入的区别在于:数组在使用的过程中都是值传递,将一个数组赋值给一个新变量或作为方法参数传递时,是将源数组在内存中完全复制了一份,而不是引用源数组在内存中的地址。为了满足内存空间的复用和数组元素的值...2018-12-04 15:41:02 · 380 阅读 · 0 评论 -
Go语言基础(二)定义变量
创建一个go文件文件名称叫basic,选择Simple Application程序入口一个简单的HelloWorld示例,使用fmt的库来进行打印package mainimport "fmt"func main() { fmt.Println("Hello World!")}定义一个变量定义变量使用var关键字,变量名在前面,变量类型在后面,并将刚定...原创 2018-12-02 15:53:36 · 1604 阅读 · 0 评论 -
Go语言基础(十六)接口
go语言是一门面向接口的语言duck typing这个大黄鸭是鸭子吗?传统类型系统:脊索动物门、脊椎动物亚门、鸟纲雁形目。。。从传统类型系统来看,这个大黄鸭不是鸭子,从duck typing来看,这个大黄鸭是鸭子“像鸭子走路、像鸭子叫,这就是鸭子”描述事物的外部行为而非内部结构严格说go属于结构化类型系统,类似duck typingPython中的duck typin...原创 2018-12-06 21:51:33 · 253 阅读 · 0 评论