随笔分类 -  go基础语法

摘要:基本数据类型反射 // 利用函数的参数定义为空接口 func testRefect(i interface{}) { // 调用TypeOf函数,返回reflect.Type类型的数据 reType := reflect.TypeOf(i) fmt.Println(reType) // int // 阅读全文
posted @ 2022-11-25 16:00 aBiu-- 阅读(21) 评论(0) 推荐(0) 编辑
摘要:创建客户端 func main() { // 所需的网络编程全都在net包下 conn, err := net.Dial("tcp", "127.0.0.1:8888") fmt.Println("客户端启动") if err != nil { // 连接失败 fmt.Println("客户端连接失 阅读全文
posted @ 2022-11-25 16:00 aBiu-- 阅读(10) 评论(0) 推荐(0) 编辑
摘要:map引入 func main() { // 定义map var a map[int]string // 只声明map内存是没有分配空间的,必须通过make函数进行初始化 a = make(map[int]string, 10) // 如果不指定大小,map会默认分配大小的 a[1] = "张三" 阅读全文
posted @ 2022-11-25 16:00 aBiu-- 阅读(11) 评论(0) 推荐(0) 编辑
摘要:结构体 结构体的定义 // 定义结构体,老师的结构体,各个属性统一放入结构体管理 type Teacher struct { // 变量名大写开头外界可以访问 Name string Age int School string } func main() { // 创建老师的实例对象 var t1 阅读全文
posted @ 2022-11-25 16:00 aBiu-- 阅读(8) 评论(0) 推荐(0) 编辑
摘要:文件 创建一个测试文件 代码测试: func main() { // 打开文件 file, err := os.Open("E:/test/Test.txt") if err != nil { // err不为空,说明报错 fmt.Println("文件打开出错:", err) } fmt.Prin 阅读全文
posted @ 2022-11-25 16:00 aBiu-- 阅读(13) 评论(0) 推荐(0) 编辑
摘要:协程概念 又称微线程,纤程,协程是一种用户态的轻量级线程 作用:在执行A函数时候,可以随时中断,去执行B函数,然后中断继续执行A函数(可以自动切换),这一切换过程并不是函数调用(没有调用语句),过程很像多线程,然而协程中只有一个线程在执行(一个线程中有多个协程) 代码案例:开启一个协程非常简单,调用 阅读全文
posted @ 2022-11-25 16:00 aBiu-- 阅读(58) 评论(0) 推荐(0) 编辑
摘要:指针概念 比如如下代码,其实它是在内存中分配了一个空间,也可以打印出这个变量的地址 var age int = 18; // &符号 + 变量名,也就是&age,就是这个age变量的值的内存地址 fmt.Println(&age) // 0xc00000a0c8 在内存大概位置这样:有个名叫age的 阅读全文
posted @ 2022-11-25 15:59 aBiu-- 阅读(9) 评论(0) 推荐(0) 编辑
摘要:算数运算符 // 1. 整数 var n1 int = +10 fmt.Println(n1) // 2. 相加操作 var n2 int = 4 + 7 fmt.Println(n2) // 3. 字符串拼接 var s string = "abc" + "def" fmt.Println(s) 阅读全文
posted @ 2022-11-25 15:59 aBiu-- 阅读(15) 评论(0) 推荐(0) 编辑
摘要:if单分支 var count int = 20 if count < 30 { fmt.Println("库存不足") } // 另一种写法: if后面可以并列加入变量定义, 使用分号;隔开 if a := 20; a < 30 { fmt.Println("库存不足a") } if双分支 var 阅读全文
posted @ 2022-11-25 15:59 aBiu-- 阅读(6) 评论(0) 推荐(0) 编辑
摘要:函数写法 func main() { sum := cal(1, 1) fmt.Println(sum) // 2 } // 函数名首字母如果大小,可以在其他包中引用 // 函数语法:参数列表(可以0个或多个),返回值类型列表(可以0个或多个) func cal(num1 int, num2 int 阅读全文
posted @ 2022-11-25 15:59 aBiu-- 阅读(11) 评论(0) 推荐(0) 编辑
摘要:先看正常的出现异常情况 func main() { test() // 上面方法执行有报错,所以下面代码不会执行 fmt.Println("上面方法执行成功...") fmt.Println("正常执行下面代码逻辑...") } func test() { num1 := 10 num2 := 0 阅读全文
posted @ 2022-11-25 15:59 aBiu-- 阅读(14) 评论(0) 推荐(0) 编辑
摘要:数组引入使用 func main() { // 给五个学生的成绩,求出总和、平均数 var scores [5]int scores[0] = 96 scores[1] = 91 scores[2] = 39 scores[3] = 60 scores[4] = 21 // 求和 sum := 0 阅读全文
posted @ 2022-11-25 15:59 aBiu-- 阅读(6) 评论(0) 推荐(0) 编辑
摘要:切片的理解 func main() { // 切片是构建在数组之上 // 定义数组 var intarr [6]int = [6]int{1, 4, 7, 3, 6, 9} // 定义切片,从下标1位置截取到下标2的位置,不包含下标3的位置 slice := intarr[1:3] fmt.Prin 阅读全文
posted @ 2022-11-25 15:59 aBiu-- 阅读(7) 评论(0) 推荐(0) 编辑
摘要:golang分基本数据类型和复杂数据类型 数值型 整数类型 有符号整数类型 无符号整数类型 其他整数类型 这么多的整数类型,如果定义时候没有给int类型赋值,默认是0 var a int fmt.Println(a) // 0 默认0 fmt.Println(unsafe.Sizeof(a)) // 阅读全文
posted @ 2022-11-25 15:58 aBiu-- 阅读(32) 评论(0) 推荐(0) 编辑
摘要:到golang中文网下载:https://studygolang.com/dl 我自己电脑是64位的windows操作系统,如果是32位的可以选x86的 选择压缩包,直接解压就好了,如果选择下载msi文件,要自己安装,压缩包更加方便 我在我自己的D盘创建了golang_sdk目录,直接解压在了这里 阅读全文
posted @ 2022-05-29 23:26 aBiu-- 阅读(56) 评论(0) 推荐(0) 编辑