后端_Golang
Golang天下第一
梦境工程师-335
啥都会一点的六边形战士,我常在一个神秘的网络里接各种稀奇古怪的订单
展开
-
Golang选择排序
package mainimport ( "fmt")func main() { var i, j int array := []int{21, 32, 2, 11, 34, 34, 7, 9} fmt.Println("选择排序开始前:", array) for i = 0; i < len(array)-1; i++ { min := i for j = i + 1; j < len(array); j++ { if array[min] > arra原创 2021-10-27 20:08:51 · 77 阅读 · 0 评论 -
Golang冒泡排序
冒泡排序算法package mainimport "fmt"func main() { var i, j int var temp int //用于中转的地方,交换两个大小不一的变量 array := []int{21, 32, 12, 33, 34, 34, 87, 24} fmt.Println("冒泡排序开始前:", array) for i = 0; i < len(array)-1; i++ { fmt.Println("第", i, "次冒泡排序结果:", arra原创 2021-10-27 13:29:29 · 131 阅读 · 0 评论 -
Golang-经验>关于 http: multiple registrations for /xxx/ 错误的解决办法
文章目录关于 http: multiple registrations for /xxx/ 错误的解决办法一、起因二、解决办法关于 http: multiple registrations for /xxx/ 错误的解决办法一、起因出现错误的情况:http: multiple registrations for ./http: multiple registrations for /img/ http: multiple registrations for /xxx/ 一般都是因为在所写的G原创 2021-04-06 17:25:31 · 2110 阅读 · 0 评论 -
Warning “you need the extended version to build SCSS/SASS“ not triggered when it should 的解决办法
如果你点击进来看该篇文章,相信你遇到了使用Hugo主题的时候启动服务遇到了Warning "you need the extended version to build SCSS/SASS" not triggered when it should报错,这句英文的意思是你需要Hugo扩展版去编译SCSS/SASS文件解决办法:windows用户需要在https://github.com/gohugoio/hugo/releases/download/v0.53/hugo_extended_0.53_.原创 2021-01-15 16:27:20 · 1966 阅读 · 13 评论 -
Go速成无压力【十五】:并发 (Goroutines)
文章目录(一)Goroutines(二)Channels(一)GoroutinesGoroutines是Go运行时的轻量级线程管理,Goroutines运行在同样的地址空间,所以使用的共享内存必须是同步的开始一个Go的并发的写法如下:go f(x,y,z)(二)ChannelsChannels是一个可以发送和接受数据的管道,操作符号是 <- , 日常操作如下:ch <- v //发送v的值给chv := <-ch //初始化v且接受来自ch的值如下所示:packag原创 2020-09-15 23:42:38 · 156 阅读 · 0 评论 -
Go速成无压力【十四】:接口
一个接口被定义为方法签名的集原创 2020-09-14 12:03:07 · 95 阅读 · 0 评论 -
用Golang写一个简单的web服务器
在这里插入代码片原创 2020-08-16 21:55:33 · 499 阅读 · 0 评论 -
新手教程:如何在linux上搭建Go语言环境
文章目录第一步:如果你没有git工具,就先去安装git第二步:使用git获取go的包第三步:进入目录中运行执行程序安装go第四步:进入包目录运行go指令查看go的版本第五步:输入以下命令设置环境变量第六步:执行以下命令查看环境变量是否设置成功第七步:写一个简单的HelloWorld程序并允许第一步:如果你没有git工具,就先去安装gityum install git第二步:使用git获取go的包$ git clone https://go.googlesource.com/go goroot$原创 2020-08-11 13:38:42 · 785 阅读 · 0 评论 -
Go速成无压力【十三】:方法和指针间接层
(1)函数拥有一个指针参数的时候需要传一个指针 (只能选指针作为实参)(2)方法拥有一个指针接收器的时候需要一个值或者一个指针作为接收器 (指针和值二者选一作为实参)package mainimport "fmt"type Vertex struct { X, Y float64}func (v *Vertex) Scale(f float64) { v.X = v.X * f v.Y = v.Y * f}func ScaleFunc(v *Vertex, f float6.原创 2020-07-13 22:53:10 · 365 阅读 · 0 评论 -
Go速成无压力【十二】:方法 · 下(Methods)
文章目录(一)指针接收器(一)指针接收器你可以声明一个带有指针接受器的方法上面这句话的意思是接收器类型拥有字面语法 *T 对于一些类型T(T他本身不能作为像 *int 一样的指针),带有接收器的方法可以修改所接收的指针,自从方法经常需要被用于修改他们的接收器,指针的使用相较于传统值的接收更普遍package mainimport ( "fmt" "math")type Vertex struct { X, Y float64}func (v Vertex) Abs() fl原创 2020-07-09 20:33:21 · 159 阅读 · 0 评论 -
Go速成无压力【十一】:方法 · 上(Methods)
文章目录(一)方法(二)方法是函数(一)方法Go没有类,然而,你可以定方法在类型上一个方法是一个带有指定接收参数的函数接收器出现的位置位于 func 关键字和方法名字的中间package mainimport ( "fmt")type Student struct { num, name string}func (v Student) info() string { return "学号为:" + v.num + " / 姓名为:" + v.name}func ma原创 2020-06-17 00:44:40 · 387 阅读 · 0 评论 -
Go速成无压力【十】:函数值 和 函数的闭合
文章目录原创 2020-06-16 21:11:05 · 210 阅读 · 0 评论 -
Go速成无压力【九】:映射(Maps)
文章目录(一)Maps(二)Map文法(三)Map字段知识扩展(四)不同类型的映射(一)Maps一个map是映射到键值对的值为 0 的map是 nil 值;一个nil 值的map并没有keys , 也不能添加值;make 函数可以返回一个被赋予类型,且被初始化准备可以投入使用的mappackage mainimport "fmt"type vertex struct{ x , y float64}var m map[string]Vertexfunc main(){ m = m原创 2020-06-15 22:37:54 · 459 阅读 · 0 评论 -
Go速成无压力【八】:范围 (range)
文章目录原创 2020-06-15 17:20:30 · 372 阅读 · 0 评论 -
Go速成无压力【七】:切片 (Slices)
文章目录(一)切片 (Slices)(二)切片就像对数组的引用(三)切片的文法(四)切片的默认值(一)切片 (Slices)一个数组有足够的适合的长度,但是切片是从另一个方面来定义,是一个动态的尺寸,相当于一个灵活可扩展的数组;在实际操作练习中,切片比数组更常用(1) 切片的类型表示用 [ ]T ,比如[ ] int , 则切片的类型为int型;(2) 一个切片由指定的两个索引组成,一个低边界的索引和一个高边界的索引,使用分号分割开,写法如:a[low:high];(3) 切片索引选原创 2020-06-14 00:50:59 · 480 阅读 · 0 评论 -
Go速成无压力【六】:指针,结构,数组(pointer, struct , array)
文章目录(一)指针 (Pointer)(1)指针的定义(2)指针的地址(3)指针的赋值(4)指针的操作——实战演示(二)结构(struct)(三)结构体的使用(四)指向结构体的指针(五)结构体的各种赋值(六)数组(array)(1)数组操作的演示(2)未指定数组长度时的赋值操作(3)指定数组长度后的赋值操作(一)指针 (Pointer)Go拥有自己的指针,一个指针保留了值的内存地址比如:*P 是指向 P这个变量的值,如果一个指针定义声明了但是没有被赋值,没有指向,则它的值可以写为 nil(1)指原创 2020-06-10 02:48:46 · 558 阅读 · 0 评论 -
Go速成无压力【五】:循环,判断,延迟( for , if-else , switch , defer )
文章目录(一)for 循环(二)for循环知识扩展(三)for就是Go的while循环(四)死循环(五)if 语句(六)if 短声明(七)if...else 语句(七)switch 选择语句(八)switch 无条件选择(九)defer(一)for 循环Go只有一个循环结构就是for循环,for循环有3个被分号分割的组成部分,分别是:1,初始化语句2,条件表达式3,后声明语句所在位置情况是:for 初始化语句;条件表达式;后声明语句for循环的初始化语句是短变量声明,并且这个变量声明的作原创 2020-06-09 00:06:02 · 562 阅读 · 0 评论 -
Go速成无压力【四】:变量(variables)
文章目录(一)变量的定义1,定义并输出变量实例演示2,定义但未指定数值类型时的情况3,定义的变量必须被使用4,定义变量不写类型(二)变量的赋值= 符号赋值的情况1,单个变量赋值2,多个变量赋值:= 符号赋值的情况(三)基本类型(四)0 值变量 (zero variable)(五)类型转换(六)类型推断(七) 常量 (constant)(一)变量的定义变量的定义可以使用关键字var进行定义,写法是var 变量 类型,比如var i int定义i为int类型的变量1,定义并输出变量实例演示定义为i原创 2020-06-07 16:32:58 · 417 阅读 · 0 评论 -
Go速成无压力【三】:函数(Functions)
文章目录(一)函数基本定义和演示(二)函数的参数简写技巧(三)一个微微复杂的演示(四)复合型结果(五)被命名的返回值(一)函数基本定义和演示一个函数可以设置0或者更多的参数,函数的命名关键字为func ,后接参数,然后是函数类型,每个函数都必须具有返回值,返回值用关键字return 返回,返回类型必须和函数类型一致package mainimport "fmt"func dis(x int,y int) int{ return x+y}func main(){ fmt.Print原创 2020-06-07 01:04:04 · 279 阅读 · 0 评论 -
Go速成无压力【二】:包的导入导出与使用
文章目录(一)包的概念(二)实例演示(三)引入包(四)导出包名(一)包的概念Go程序是在包的封装基础上建立起来的,引用的都是包程序开始运行于main包package main引入包,这里分别引入了,fmt和time包,fmt用于格式化输出,time用于获取时间import( "fmt" "time")启用main函数输出时间func main(){ fmt.Println("当前时间为:",time.Now())}(二)实例演示输出当前时间package main原创 2020-06-04 14:43:11 · 627 阅读 · 0 评论 -
Go速成无压力【一】:Hello World
文章目录(一)helloWorld.go(二)相关解释(三)运行Go程序(四)编译为二进制文件这是第一个Go语言程序(一)helloWorld.gopackage mainimport "fmt"func main(){ fmt.Println("Hello World!")}(二)相关解释package main 用于定义包名import “fmt” 引入fmt包func main() 为主函数,用于执行程序代码fmt.Println() 用于输出数据到控制台(三)运行原创 2020-06-04 00:06:16 · 302 阅读 · 0 评论 -
模拟退火算法
文章目录(一)维基百科解释(二)通俗解释演算步骤(1)公式(2)初始化(3)迭代过程(三)伪代码(四)实战(一)维基百科解释模拟退火来自冶金学的专有名词退火。退火是将材料加热后再经特定速率冷却,目的是增大晶粒的体积,并且减少晶格中的缺陷。材料中的原子原来会停留在使内能有局部最小值的位置,加热使能量变大,原子会离开原来位置,而随机在其他位置中移动。退火冷却时速度较慢,使得原子有较多可能可以找到内能比原先更低的位置。模拟退火的原理也和金属退火的原理近似:我们将热力学的理论套用到统计学上,将搜寻空间内每一原创 2020-06-02 02:32:28 · 853 阅读 · 1 评论