![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang大师之路
golang大师之路
黄康诚
这个作者很懒,什么都没留下…
展开
-
Go基础语法1:HelloWorld第一个GO程序
1.Go国际惯例,写出第一个程序"Hello World"程序package mainimport "fmt"func main(){ fmt.Println("Hello Go")}2.代码解析第一行:package main1.每个go源代码文件的开头都是一个package声明,表示该go代码所属的包。2.包是go语言里最基本的分发单位,也是工程管理中依赖关系的体现。(工...原创 2019-12-25 02:52:21 · 148 阅读 · 0 评论 -
Go基础语法2:命名规范和常用命名方法
命名规范以字母或者下划线开头(不允许使用数字开头)关键字不能当作变量名(25)个此外,还有大约30多个预定义的名字,比如int和true等,主要对应内建的常量,类型和函数。内建常量:true false iota nil内建类型:int int8 int16 int32 int64uint nint8 uint16 uint3...原创 2019-12-25 03:01:40 · 181 阅读 · 0 评论 -
Go基础语法3:变量和常量
1.变量变量是几乎所有编程语言中最基本的组成元素,变量是程序运行期间可以改变的量。程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。1.1变量声明(var)1.1.1基本语法://基本语法var variable_name type = value1.1.2 语法解析var &nb...原创 2019-12-28 19:31:57 · 142 阅读 · 1 评论 -
Go基础语法4:iota枚举
常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每一行都写一边初始化表达式。在一个const声明语句中,在第一个声明的变量所在行,iota将会被置为0,然后在每一个有常量声明的行加一。1.iota生成器基本使用const( x = iota //x == 0 y = iota //y == 1 z = iota //z == ...原创 2019-12-28 19:34:57 · 181 阅读 · 0 评论 -
Go基础语法5:基础数据类型
说明:长度是指占用的内存资源零值是指默认值1.1布尔类型var b1 bool = trueb2 := (1==1) //b2会被自动推导为bool类型//错误示例var b boolb = 1 //编译报错b = bool(1) //编译报错1.2整型var i int = 1j := 2 //自动推导为21.3浮点型var i float...原创 2019-12-28 19:37:47 · 154 阅读 · 2 评论 -
Go基础语法6:fmt包的格式化输入输出
1.Println和Printf的区别1.1Println功能:打印并自动换行(无法格式化)1.2Printf功能:格式化输出(必须使用%占位符进行格式化输出)1.3两者比较声明变量var a int = 10,并输出.//Println版本package mainimport "fmt"func main(){ a := 10 fmt.Println(a...原创 2019-12-28 19:47:10 · 152 阅读 · 0 评论 -
Go基础语法7:类型转换及类型别名
1.类型转换只有相互兼容的类型之间才可以转换,不兼容的类型,如果使用了转换函数,在编译时会出错。1.1不兼容类型的错误示范已知:bool型和int型不兼容package mainimport "fmt"func main(){ var a int = 10 var b bool = true fmt.Println(bool(a)) //试图把a变为bo...原创 2019-12-28 19:50:06 · 500 阅读 · 0 评论 -
Go基础语法8:运算符及优先级
1.运算符golang的运算符和优先级,相较于其他编程语言并无太大区别,在此罗列,以便查询,不做详细介绍。1.1算术运算符1.2关系运算符1.3逻辑运算符1.4位运算符位运算真值表:示例:A=60,B=13其二进制格式为:A = 0011 1100B = 0000 1101------------------A&B = 0000 1100A|B = 0011 11...原创 2019-12-28 19:52:34 · 635 阅读 · 1 评论 -
Go流程控制1:if-else
1.if1.1基本语法package mainimport "fmt"func main(){ socre := 600 if score >= 600{ fmt.Println("上清华") } }//输出:上清华乍一看,go语言的if语句和其他编程语言没什么区别,除了一些格式不同之外。事实也确实如此,但是go语言的i...原创 2019-12-28 19:55:56 · 116 阅读 · 0 评论 -
Go流程控制2:switch
基本语法switch 变量(表达式){ case 值1: 语句块 case 值2: 语句块 ...... default: 语句块}示例package mainimport "fmt"func main(){ var score int = 69 switch score{ case 90: fmt.Println("A") case 80: ...原创 2019-12-28 20:14:25 · 123 阅读 · 0 评论 -
Go流程控制3:for循环
基本语法package mainfunc main(){ for 初始化条件; 判断条件; 条件变化{ 语句块 }}示例1:计算1-10的和package mainimport "fmt"func main(){ sum := 0 for i := 1 ; i<1; i++{ sum = sum + i ...原创 2019-12-28 20:23:48 · 117 阅读 · 0 评论 -
Go流程控制4:跳转语句(break,continue,goto)
1.break跳出循环在多重嵌套中,指挥跳出最近的循环,无法多层跳出。package mainimport "fmt"func main(){ i := 0 for{ i++ //i == 3 时,跳出这个死循环 if i == 3{ break } fmt.Println(i) }}//结果:1,22.contiue跳过循环与...原创 2019-12-28 20:26:06 · 152 阅读 · 0 评论 -
Go函数1:函数的定义
01_函数的基础语法1.函数的定义func 函数名(参数列表) 返回值{ 函数体}2.函数的调用func main(){ 调用的函数名(参数列表)}示例1(无参数,无返回):package mainimport "fmt"//定义函数func name(){ fmt.Println("this is my name")}func main(...原创 2020-01-09 21:16:28 · 211 阅读 · 0 评论 -
Go函数2:函数的返回值
02_函数的返回值1.语法func 函数名(参数类别)(返回值列表){ 函数体}2.单返回值package mainimport "fmt"func test() (int) { a,b := 1,2 return a+b}func main(){ fmt.Println(test())}//输出:33.多返回值package mainim...原创 2020-01-09 21:18:22 · 473 阅读 · 0 评论 -
Go函数3:匿名函数与闭包
1.匿名函数顾名思义,是一个没有名字的函数。2.匿名函数实现了闭包的功能。3.所有的匿名函数都是闭包一.匿名函数1.1声明调用:package mainimport "fmt"func main(){ i := 1 //声明f为一个匿名函数,实现i++的功能。 f := func(){ i++ fmt.Println(i) ...原创 2020-01-09 23:22:23 · 128 阅读 · 0 评论 -
Go函数4:递归
04_函数的递归golang函数的递归,与其他语言没有什么区别。通俗的讲,递归就是自己调用自己,直到达到特定的条件,结束调用。递归不能形成死循环,否则程序会报错。所以必须有跳出条件示例:package mainimport "fmt"func add_self(n int) int { if n == 0 { return 0 }else{ return n+add_s...原创 2020-01-11 17:58:53 · 152 阅读 · 0 评论 -
Go复合类型1:数组定义及初始化
一.定义1.1定义语法var arr1 [3]int //长度为3,元素类型为int的数组 //在没有初始化状态下,默认为0//[0,0,0]数组的长度是一个常量,不能更改二.初始化2.1指定元素初始化//指定元素初始化var arr2 [3]intarr2[0] = 1arr2[1] = 2//[1,2,0]2.2全部初始化//全部初始化...原创 2020-01-11 17:57:15 · 475 阅读 · 0 评论