
golang
-石头-
通过测试降低项目成本
展开
-
golang http Server介绍
前言对于 Golang 来说,实现一个简单的 http server 非常容易,只需要短短几行代码。同时有了协程的加持,Go 实现的 http server 能够取得非常优秀的性能。这篇文章将会对 go 标准库 net/http 实现 http 服务的原理进行较为深入的探究,以此来学习了解网络编程的常见范式以及设计思路。HTTP 服务基于 HTTP 构建的网络应用包括两个端,即客户端 ( Client ) 和服务端 ( Server )。两个端的交互行为包括从客户端发出 request、服务端接受 r原创 2022-01-02 20:39:22 · 4651 阅读 · 0 评论 -
生产者&消费者模型
概述生产者消费者模型是多线程设计的经典模型,该模型被广泛的应用到各个系统的多线程/进程模型设计中。本文介绍了Go语言中channel的特性,并通过Go语言实现了两个生产者消费者模型。channel的一些特性在Go中channel是非常重要的协程通信的手段,channel是双向的通道,通过channel可以实现协程间数据的传递,通过channel也可以实现协程间的同步(后面会有介绍)。本文介绍的生产者消费者模型主要用到了channel的以下特性:任意时刻只能有一个协程能够对channel中某一个item原创 2022-01-01 19:58:10 · 141 阅读 · 0 评论 -
golang_斐波那契数列
import "fmt"func fibona() func(int) int { i, j := 0, 1 return func(k int) int { if k > 0 { i, j = j, j+i } return i }}func main() { fibonaa := fibona() for i := 0; i < 10; i++ { fmt.Println(fibonaa(i)) //fmt.Println("i=", i, ".原创 2021-12-25 11:57:16 · 403 阅读 · 0 评论 -
golang根据条件修改切片值
package mainimport "fmt"func main() { mySlice := []string{"I", "am", "stupid", "and", "weak"} for index, _ := range mySlice { if mySlice[index] == "stupid" { mySlice[index] = "smart" } else if mySlice[index] == "weak" { mySlice[index] = "原创 2021-12-24 06:53:00 · 792 阅读 · 0 评论