03 2023 档案

摘要:Go 语言标准库内建提供了 net/http 包,涵盖了 HTTP 客户端和服务端的具体实现,使得我们可以很方便地编写 HTTP 客户端或服务端的程序。 HTTP 服务端 示例: package main import ( "fmt" "net/http" ) //服务端编写的业务逻辑处理程序 —— 阅读全文
posted @ 2023-03-22 22:36 Juno3550 阅读(79) 评论(0) 推荐(0)
摘要:Sync(锁) 在前面讲 channel 的时候,我们说到在 Go 语言并发编程中,倡导使用通信共享内存,不要使用共享内存通信,即 goroutine 之间尽量通过 channel 来协作。 而在其他的传统语言中,都是通过共享内存加上锁机制来保证并发安全的,同样 Go 语言也提供了对共享内存并发安全 阅读全文
posted @ 2023-03-21 23:17 Juno3550 阅读(330) 评论(0) 推荐(0)
摘要:协程介绍 什么是协程? 协程,又称微线程,英文为 Coroutine。 协程可以理解为用户态线程,是比线程更小的执行单元。为啥说它是一个执行单元?因为它自带 CPU 上下文。这样只要在合适的时机,我们可以把一个协程切换到另一个协程。只要这个过程中保存或恢复 CPU 上下文,那么程序还是可以运行的。 阅读全文
posted @ 2023-03-20 23:05 Juno3550 阅读(1547) 评论(0) 推荐(0)
摘要:文件操作 创建文件 Go 语言中提供了一个 Create() 函数用于创建文件。 该函数在创建文件时,首先会判断要创建的文件是否存在,如果不存在,则创建,如果存在,会先将文件中已有的数据清空。 同时,当文件创建成功后,该文件会默认的打开,所以不用再执行打开操作,可以直接向该文件中写入数据。 创建文件 阅读全文
posted @ 2023-03-14 00:19 Juno3550 阅读(124) 评论(0) 推荐(0)
摘要:error 接口 error 基础使用 Go 语言引入了一个关于错误处理的标准模式,即 error 接口,它是 Go 语言内建的接口类型,该接口的定义如下: type error interface { Error() string } 由于 Go 的函数支持多返回值,所以一般会用 error 作为 阅读全文
posted @ 2023-03-13 00:42 Juno3550 阅读(61) 评论(0) 推荐(0)
摘要:面向对象介绍 面向对象和面向过程都是解决问题的一种思路。 面向过程: 是一种以过程为中心的编程思想,实现功能的每一步都是自己实现的。面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,尽量忽略面向对象的复杂语法,即面向过程是“强调做什么,而不是以什么形式去做”。 开发过程的思路是将数据与 阅读全文
posted @ 2023-03-12 00:54 Juno3550 阅读(166) 评论(0) 推荐(0)
摘要:数组 所谓的数组,是指存放在连续内存空间上的相同类型数据的集合。 示例:数组定义和赋值 // 定义数组 var arr [10]int // 数组的长度定义只能用常量,且不能改变 fmt.Println(len(arr)) // 打印数组长度 // 定义时,元素已有默认值(基本数据类型的默认值) / 阅读全文
posted @ 2023-03-08 13:43 Juno3550 阅读(142) 评论(2) 推荐(0)
摘要:导包 示例:工程结构如下 GOPATH 设置为工程根目录(E:\GO_PROJECT) test1.go: package package_test import "fmt" /* 定义函数 */ func Func1() { fmt.Println("test1 func1") } test2.g 阅读全文
posted @ 2023-03-07 01:38 Juno3550 阅读(146) 评论(0) 推荐(0)
摘要:Golang 介绍 “Golang 是一种开源的程序设计语言,它旨在使得人们能够方便地构建简单、可靠、高效率的软件。” —— golang.org GO 语言借鉴了 Python 等其它编程语言简单易学、开发效率高的优势,同时针对多处理器(多核 CPU)系统的程序进行了优化(让每核 CPU 都能够执 阅读全文
posted @ 2023-03-06 00:37 Juno3550 阅读(159) 评论(0) 推荐(0)