util 用于定义常用函数 让其他文件来调用

db 定义对数据库操作的函数

打包基本语法:package 包名

引入包基本语法,import “包路径”

使用包函数

包名.函数名()

接口的基本语法 type 接口名称 interface{
//方法
method(参数列表)返回值列表
}
接口里面的方法没有全实现,会报错

指针

值类型包括:基本数据类型int系列,float系列,bool,string、数组和结构体(struct)
引用类型:指针、slice切片、map、管道chan、interface等
基本数据类型,变量存的就是值,也叫值类型
基本数据类型在内存中的布局
地址是&i,
指针类型,指针变量存的是一个地址 ,这个地址指向的空间存的才是值
指针在内存的布局

var ptr *int = &i

ptr 是一个指针变量

ptr 的类型*int

ptr 本身的值&i

类型

值类型包括:基本数据类型int系列,float系列,bool,string、数组和结构体(struct)

值类型:变量直接存储值,内存通常在栈中分配

引用类型包括:指针、slice切片、map、管道chan、interface等

引用类型:变量储存的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆区分配

获取用户终端输入

Scanln fmt.Println("请输入年龄") fmt.Scanln(&age)

scanf fmt.Scanf("%s %t", &name,&isto) fmt.Printf("%v,%v", name, isto)

位运算

程序流程控制

顺序控制 程序从上到下地执行,中间没有任何判断和跳转

分支控制

单分支控制

  • 基本语法 if 条件表达式 { 执行代码 } 需求—>分析—> 代码



双分支

多分支

switch 分支 (默认有break)

在golang中case后面可跟多个表达式,用逗号隔开

switch 细节讨论:

1)case后是一个表达式(常量值、变量、一个有返回值的函数都可以)

2)case后的各个表达式的值的数据类型,必须和switch的表达式数据类型一致

3)case后面可以带多个表达式,使用逗号间隔

4)case后面的表达式如果是 常量值,则要求不能重复

5)case后面不需要带break

6)default 语句不是必须的

7)switch后也可以不带条件表达式,类似if else 使用

8)switch 后也可以直接声明/定义一个变量,分号结束

9)switch 穿透 fallthrough,如果在case语句块后增加fall through,则会继续执行下一个case,也叫switch穿透 默认只会穿透一层

10)Type Switch:switch 语句还可以被用于type-switch来判断某个interface变量中实际指向的变量类型 (判断空接口的数据类型)

循环控制

for循环的细节讨论

1)循环条件是返回一个布尔值的表达式

2)第二种写法

3)第三种写法 字符串遍历

  • 字符串遍历方式1-传统方式

var str string = "hello,world河北"

for i := 0; i < len(str); i++ {

fmt.Printf("%c\n", str[i]) //使用到下标

}

细节:如果我们字符串含有中文,那么传统的遍历字符串方式,就是错误,会出现乱码。原因是传统的方式对字符串的遍历是按照字节来遍历,而一个汉字在utf8编码是对应3个字节

  • 字符串遍历的方式2-for-range

    var str1 = “abc=ok保定1”

    for i, l := range str1 {

​ fmt.Printf(“index=%d,value=%c”, i, l)

}

4)嵌套循环

原文地址:http://www.cnblogs.com/lzhnx/p/16862117.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性