E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
GO语言学习笔记
Go语言学习笔记
——读锁重入导致死锁
现象funcTestLock(t*testing.T){l:=&lockWrapper{}varwgsync.WaitGroupwg.Add(2)gofunc(){s:=0fori:=0;i<0;1000000;i++{s+=l.Get()}t.Log(s)wg.Done()}()gofunc(){fori:=0;i<0;1000000;i++{l.Set(i)}t.Log(s)wg.Done()
·
2022-04-22 21:52
golang
go语言学习笔记
(四):调度器基础-爬上那座山
目录调度器概述调度器初始化第一个goroutine,maingoroutine的创建第一个goroutine,maingoroutine的调度非maingoroutine的创建、退出以及调度循环调度策略调度时机爬调度器概述调度的本质,即线程上下文在CPU中的切换,内核调度器负责对内核线程的调度,Go调度器做的,也是相似的工作,负责goroutine的调度。重要的全局变量:allgs[]*g//所有
tigerdanceonbyte
·
2022-03-25 18:46
go语言调度器的一些学习笔记
golang
开发语言
后端
GO语言学习笔记
2018-09-04
1go语言在参数传递中只有值传递一种方式packagemainimport"fmt"funcswap(a,bint)(int,int){returnb,a}funcmain(){a,b:=3,4//赋值a,b=swap(a,b)//接住返回的值fmt.Println(a,b)}输出结果为:43上面的函数swap也可以写成以下形式:funcsawp(a,b*int){*a,*b=*b,*a}调用形式
pp_5793
·
2022-02-21 20:55
Go语言学习笔记
-变量与作用域
Go语言变量的声明Go语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。Go语言的基本类型:boolstringint、int8、int16、int32、int64uint、uint8、uint16、uint32、uint64、uintptrbyte//uint8的别名rune//int32的别名,代表一个Unicode码float32、float64
梁坤同学
·
2022-02-18 05:50
Go语言学习笔记
-about知识点的link
数据类型转换阿里云Ubuntu安装mysqlworkbench导出数据库阿里云Ubuntu上的mysql运行sql文件来创建表Redis常用命令上传码云不上传node_modules
努力的夏目_1bbc
·
2022-02-09 14:21
Go语言学习笔记
-测试
单元测试t.Error()测试失败,后面的可以执行,其他测试继续执行t.Fatal()测试失败,后面的不会执行,其它测试继续执行packagetestingimport("fmt""testing""github.com/stretchr/testify/assert")funcTestSquare(t*testing.T){inputs:=[...]int{1,2,3}expected:=[..
noonenote
·
2022-02-03 18:06
【
Go语言学习笔记
】包
包其实是每个大型工程都会使用的模块化工具。将相关的代码封装成一个包,给其他项目调用,提供不同的功能。GO的设计是将一个文件夹看成一个包,虽然不一定非要用文件夹的名字,但是比较建议。同一个文件夹下只能有一个包名。同文件夹下可以自由调用,不用引用。引入其它包,只能调用它提供的首字母大写的函数。//方法1import"calc"import"fmt"//方法2import("calc""fmt")mai
快乐的提千万
·
2021-12-08 17:00
Go语言学习笔记
优点:继承C,保留编译执行以及弱化的指针引入包概念,一个文件属于一个包垃圾回收机制,内存自动回收天然并发,语言层面支持,goroutine,轻量级线程,可实现大并发处理,高校利用多核,基于CPS吸收管道通信机制channel,不是用共享内存函数返回多个值切片slice,集合,动态数组,延时执行defer安装:下载:https://golang.org/dl/点击pkg安装exportPATH=$P
小麦China
·
2021-09-03 15:29
Go
golang
GO语言学习笔记
GO语言学习笔记
编译命令:gobuildxxx.go运行命令:gorunxxx.go格式化命令:gofmtxxx.go格式化后重写入文件命令:gofmt-wxxx.go第一章、GO程序开发的注意事项1、
蓝焰鱼
·
2021-08-04 10:21
编程
学习笔记
go语言
golang
开发语言
GO语言学习笔记
8月27日
1.Go程序是通过package来组织的。只有package名称为main的包可以包含main函数。一个可执行程序有且仅有一个main包。通过import关键字来导入其他非main包。可以通过import关键字单个导入。2.通过const关键字来进行常量的定义。通过在函数体外部使用var关键字来进行全局变量的声明和赋值。通过type关键字来进行结构(struct)和接口(interface)的声明
pp_5793
·
2021-06-20 12:07
Go语言学习笔记
13.复合类型-map
map可以说是每种语言必备的了,hash键值对,key->value,键值需要唯一。map[keyType]valueType使用packagemain//必须有个main包import"fmt"funcdel(mmap[int]string){delete(m,2)}funcmain(){varm1map[int]stringfmt.Println("m1=",m1)//对于map只有len,没
快乐的提千万
·
2021-06-20 08:08
Go语言学习笔记
--unsafe.Pointer 和 uintptr
转载原文:https://blog.csdn.net/cbmljs/article/details/82983639这里有一些关于unsafe.Pointer和uintptr的事实:uintptr是一个整数类型。即使uintptr变量仍然有效,由uintptr变量表示的地址处的数据也可能被GC回收。unsafe.Pointer是一个指针类型。但是unsafe.Pointer值不能被取消引用。如果u
hament
·
2021-06-14 19:46
Go语言学习笔记
- 数据
数组数组和以往的认知有很大的不同。数组是值类型,赋值和传参会复制整个数组,而不是指针。数组长度必须是常量,且是类型的组成部分。[2]int和[3]int是不同类型。支持"=="、"!="操作符,因为内存总是被初始化过的。指针数组[n]*T,数组指针*[n]T可用复合语句初始化。支持多维数组a:=[3]int{1,2}//未初始化元素值为0。b:=[...]int{1,2,3,4}//通过初始化值确
技术学习
·
2021-05-11 23:21
方法--
Go语言学习笔记
方法–
Go语言学习笔记
go语言中同时有方法和函数。
旧时星空
·
2021-05-06 17:02
go
结构体--
Go语言学习笔记
结构体–
Go语言学习笔记
结构体:是由一系列具有相同类型或不同类型的数据构成的数据集合,结构体成员是由一系列的成员变量构成,这些成员变量也被称为“字段”。
旧时星空
·
2021-05-06 17:32
golang
String--
Go语言学习笔记
String–
Go语言学习笔记
String在Go中是一个字节的切片go语言中一个汉字对应三个字节slice1:=[]byte{65,66,67,68,69}s3:=string(slice1)fmt.Println
旧时星空
·
2021-05-04 09:32
golang
Go语言学习笔记
(二)
iffuncmain(){constfilename="abc.txt"ifcontents,err:=ioutil.ReadFile(filename);err!=nil{fmt.Printf("%s\n",contents)}else{fmt.Println(err)}}if条件里可以赋值if的条件里赋值的变量作用域仅限于if语句内switchfunceval(a,bint,opstring)
7rv
·
2021-04-30 02:40
输入与输出--
Go语言学习笔记
输入与输出–
Go语言学习笔记
输出Print()//打印Printf()//格式化打印Println()//打印之后换行格式化打印占位符:%v,原样输出%T,打印类型%t,bool类型%s,字符串%f,浮点
旧时星空
·
2021-04-23 12:04
golang
Go-生成随机数
####生成随机数----
Go语言学习笔记
//导包import{"math/rand""fmt"}rand.Int()–生成一个随机数num1:=rand.Int()fmt.Println(num1)/
旧时星空
·
2021-04-17 22:04
golang
Go语言学习笔记
Go语言学习笔记
命名规范以字母或下划线开头,命名中不可以使用@,$等字符,区分大小写,大写字母开头默认为public权限小写字母开头默认为private权限包命名包名都是小写文件命名见名之意结构体命名采用驼峰命名法
旧时星空
·
2021-04-11 09:08
golang
go string转数组_
go语言学习笔记
(16)-切片
切片介绍:1)切片的英文是slice2)切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。3)切片的使用和数组类型,遍历切片、访问切片的元素和求切片的长度len(slice)都一样。4)切片的长度是可以变化的,因此切片是一个可以动态变化的数组。5)切片定义基本语法:var切片名[]类型比如:vara[]int演示使用:切片使用方式1slice从底层来说,其实就是一个数据结
惠求新
·
2020-12-25 10:44
go
string转数组
go struct 静态函数_
Go语言学习笔记
(四)结构体struct & 接口Interface & 反射reflect...
加Golang学习QQ群共同学习进步成家立业工作^-^群号:96933959结构体structstruct用来自定义复杂数据结构,可以包含多个字段(属性),可以嵌套;go中的struct类型理解为类,可以定义方法,和函数定义有些许区别;struct类型是值类型。struct定义typeUserstruct{NamestringAgeint32messstring}varuserUservaruse
weixin_39734048
·
2020-12-24 00:41
go
struct
静态函数
Go语言学习笔记
文章目录前言一、Go语言特点二、平台与架构三、编辑器、集成开发环境与其它工具四、基本结构和基本数据类型1.文件名、关键字与标识符2.Go程序的基本结构和要素(1)包的概念、导入与可见性(2)函数(3)注释(4)类型(5)Go程序的一般结构(6)类型转换(7)Go命名规范3.常量4.变量(1)简介(2)值类型和引用类型(3)打印(4)简短形式,使用:=赋值操作符(5)init函数5.基本类型和运算符
浅若清风cyf
·
2020-12-22 14:54
编程基础语法
区块链
go语言
bytes数组转string指定编码_
Go语言学习笔记
六--string编码
分解探索string编码转为byte数组funcmain(){s:="Hi小智加油!"fmt.Println("len(s):",len(s))//len(s):15为什么是15呢?for_,v:=range[]byte(s){fmt.Printf("%X",v)//%X转为16进制//4869E5B08FE699BAE58AA0E6B2B921//猜测从第三个开始(E5B08F)->小,后面都是
weixin_39719732
·
2020-11-28 05:56
byte数组转string
byte数组转string乱码
c++
int转string
c++
string
数组
go语言学习笔记
— 基本数据类型 — 字符串(1):字符串初始化声明、赋值
一般写法一般写法用于函数体外声明全局变量,函数引用形成闭包,在函数体内修改全局变量。varsstrings="hello"一般写法,也可用于函数体内声明局部变量。funcgetValue(filename)string{...varsectionNamestring...}最简写法(常用)最简写法可用于函数体内声明局部变量。s:="中华人民共和国"
Locutus
·
2020-09-17 08:19
Golang
【
go语言学习笔记
】go语言中特殊的几个格式字符串和复数类型
1.格式化字符串类型格式化字符串%T:可以打印变量的类型。a:=5//自动推导赋值,int类型fmt.Printf("atypeis%T\n",a)自动推导类型格式化字符串%v:可以推导变量的类型并打印出变量的值。a:=5fmt.Printf("ais%v\n",a)另外,还推荐使用%+v来打印结构体,这样可以以变量名:值的方式打印。packagemainimport"fmt"typeinfost
血小板自动机
·
2020-09-17 07:51
go语言学习笔记
go语言
格式化字符串
复数类型
go语言学习笔记
— 基本数据类型 — 字符串(8):转义字符串,定义多行字符串
字符串转义go语言的字符串常见转义符包含回车、换行、单双引号、制表符等。转义符含义\r转义回车,返回行首\n转义换行,跳到下一行的同列位置\t转义制表\'转义单引号\"转义双引号"\\转义反斜杠\实例:packagemainimport("fmt")funcmain(){fmt.Println("str:=\"c:\\go\\bin\\go.exe\"")}定义多行字符串以双引号的形式书写字符串,
Locutus
·
2020-09-17 06:04
Golang
eclipse配置goclipse
原文:http://bigasp.com/archives/594原创文章,转载请注明:转载自SoulApogee本文链接地址:
Go语言学习笔记
(一):搭建Windows下的Go开发环境最近突然对Go语言产生了兴趣
xuehaiwuya_1
·
2020-09-16 20:26
其他
Go语言学习笔记
(三) [控制结构、内建函数]
日期:2014年7月21日一、控制结构1、Go中,只有几个控制结构,它没有do或者while循环,有for,灵活的switch语句和if,在switch中可以接受像for那样可选的初始化语句,另外Go中还提供了类型选择和多路通信转接器的select。Go的控制结构的语法和C相比有所不同,它不需要圆括号,但语句体必须总是包含在大括号内。2、控制结构语法1)if-else(1)if后紧跟单个条件例如:
知行旅人
·
2020-09-15 15:58
Go
go语言学习笔记
29------Goland之TCP、UDP通信并发②
1.TCP并发C/S模型通信1.1并发Server现在已经完成了客户端与服务端的通信,但是服务端只能接收一个用户发送过来的数据,怎样接收多个客户端发送过来的数据,实现一个高效的并发服务器呢?Accept()函数的作用是等待客户端的链接,如果客户端没有链接,该方法会阻塞。如果有客户端链接,那么该方法返回一个Socket负责与客户端进行通信。所以,每来一个客户端,该方法就应该返回一个Socket与其通
Delato
·
2020-09-14 11:37
Go语言与区块链
go语言学习笔记
31------Goland之简版聊天室
packagemainimport("net""fmt""strings""time")//创建全局用户结构体类型typeClientstruct{NamestringAddrstringCchanstring}//定义全局map,存储在线用户列表varOnlineMapmap[string]Client//定义全局channel,完成用户广播消息varmessage=make(chanstrin
Delato
·
2020-09-14 11:37
Go语言与区块链
go语言学习笔记
28------Goland之TCP、UDP通信①
1网络应用程序设计模式1.1C/S模式传统的网络应用设计模式,客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信。1.2B/S模式浏览器(Browser)/服务器(Server)模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可完成数据的传输。1.3优缺点对于C/S模式来说,其优点明显。客户端位于目标主机上可以保证性能,将数
Delato
·
2020-09-14 11:37
Go语言与区块链
go语言学习笔记
30------TCP通信
1.TCP通信过程下图是一次TCP通讯的时序图。TCP连接建立断开。包含大家熟知的三次握手和四次握手。在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。两条竖线表示通讯的两端,从上到下表示时间的先后顺序。注意,数据从一端传到网络的另一端也需要时间,所以图中的箭头都是斜的。1.1三次握手所谓三次握手(Three-WayHandshake)即建立TCP连接,
Delato
·
2020-09-14 11:37
Go语言与区块链
go语言学习笔记
27------Goland之网络编程
1.网络概述1.1协议从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:1)第一次,传输文件名,接收方接收到文件名,应答OK给传输方;2)第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;3)第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、
Delato
·
2020-09-14 11:07
Go语言与区块链
go语言学习笔记
5------运算符
GO语言中常见的运算符有算术运算符,赋值运算符,关系运算符,逻辑运算符等。1:算术运算符(1)Go语言中不允许隐式转换,所有类型转换必须显式声明(强制转换),而且转换只能发生在两种相互兼容的类型之间强制类型转换总结强制类型转换的语法格式:数据类型名(待转换的值)2:赋值运算符关于赋值运算符前面我们已经使用过多次,赋值运算符=,varintnum=9;num=num+1;这里的=号是赋值运算符,不是
Delato
·
2020-09-14 09:39
Go语言与区块链
Go语言学习笔记
(二) [变量、类型、关键字]
日期:2014年7月19日一、简介1、Go在语法上有着类C的感觉。如果你希望将两个(或更多)语句放在一行书写,它们必须用分号分隔。一般情况下,你不需要分号。2、Go同其他语言不同的地方在于变量的类型在变量名的后面。例如:不是,inta,而是aint。当定义了一个变量,它默认赋值为其类型的null值。这意味着,在varaint后,a的值为0。而varsstring,意味着s被赋值为零长度字符串,也就
choulan1901
·
2020-09-14 06:25
GO语言学习笔记
01 cannot use '\u0000' (type rune) as type string in assignment,
packagemainimport(“fmt”)var(a=123b=“xyz”c=false)funcpri(){a,b,d:=1,‘ppp’,truefmt.Println(a,b,c,d)}pri函数报错cannotuse‘\u0000’(typerune)astypestringinassignment,因为此处定义的d单引号,变量类型为rune,因此报错
qq_26989035
·
2020-09-14 05:35
go语言学习笔记
go语言学习笔记
(初级)最近一直在学习go语言,因此打算学习的时候能够记录一下笔记。我这个人之前是从来没有记录笔记的习惯,一直以来都是靠强大的记忆力去把一些要点记住。
bill_live
·
2020-09-12 01:26
Go语言学习笔记
(2011-09-14)
心血来潮学了两天Go,虽然有不少亮点,但感觉没什么吸引我的(既没有像Ruby那样简洁、统一的语法,也没有Lisp那样强大的抽象机制)。简单明了的并发机制Go提供了一种叫goroutine的并发机制。“叫做goroutine是因为已有的短语——线程、协程、进程等等——传递了不准确的含义。goroutine有简单的模型:它是与其他goroutine并行执行的,有着相同地址空间的函数。它是轻量的,仅比分
Pope怯懦懦地
·
2020-08-26 14:22
Go语言学习笔记
(十)Go语言编译与工具
Go语言的工具链非常丰富,从获取源码、编译、文档、测试、性能分析,到源码格式化、源码提示、重构工具应有尽有。1.gobuildGo语言中使用gobuild命令将源码编译为可执行文件。(1)gobuild无参数编译在main包所在目录下使用gobuild命令进行编译,生成当前目录名的可执行文件。(2)gobuild+文件列表编译同目录的多个源码文件时,可以在gobuild的后面提供多个文件名,gob
kang___xi
·
2020-08-20 06:09
Go语言
Go语言
编译
工具
go语言学习笔记
资源参考
新起点,新需要,go语言开启学习旅程,几本在线书籍链接《Go语言圣经》https://yar999.gitbooks.io/gopl-zh/index.html《Go语言标准库》https://books.studygolang.com/The-Golang-Standard-Library-by-Example/《Go语言高级编程》https://github.com/chai2010/adva
laorenmen
·
2020-08-19 10:24
编程语言
Go语言
Go语言学习笔记
(九)------接口(Interfaces)与反射(reflection)
一、接口定义1.接口提供了一种方式来说明对象的行为:如果谁能搞定这件事,它就可以用在这儿。接口定义了一组方法(方法集),但是这些方法不包含(实现)代码:它们没有被实现(它们是抽象的),接口里也不能包含变量。通过如下格式定义接口:typeNamerinterface{//Namer是一个接口类型Method1(param_list)return_typeMethod2(param_list)retu
Rcvisual
·
2020-08-19 08:22
Go
GO语言学习笔记
(十二、并发concurrency)
并发concurrency很多人都冲着Go大肆宣扬的高并发而忍不住跃跃欲试,但其实从源码的解析来看,goroutine只是由官方实现的超级“线程池”而已。不过话说回来,每个实例4-5KB的栈内存占用和由于实现机制而大幅减少的创建和销毁开销,是制造Go号称的高并发的根本原因。另外goroutine的简单易用,也在语言层面上给予了开发者巨大的便利。并发不是并行:ConcurrencyIsNotPara
老蒋的程序人生
·
2020-08-19 07:13
GO
Go语言学习笔记
(2)--基本规则包引用、类型转换和声明等
基本结构和要素第一个实例helloworld每个go文件属于且仅属于一个包一个包由许多.go源文件组成必须在源文件非注释第一行指明包每个Go应用程序都包含一个main包所有包名都应该使用小写字母标准库:属于同一个包的源文件必须全部被一起编译【包围编译的单元】对一个包进行更改或重新编译后,引用该包的程序需全部重新编译依赖关系:A->B->C编译顺序:C->B->A编译A.go文件,编译器读取直接依赖
xclhs
·
2020-08-19 06:40
go
学习
go语言学习笔记
— 接口 — 接口与类型相互转换:在接口和类型之间转换
使用接口断言(typeassertion),我们可以把接口转换成另外一个接口,也可以把接口转换成另外的类型。1.类型断言的格式接口断言类似于控制流中的if,但大量类型断言出现时,应使用更高效的类型分支switch特性。t:=i.(T)i表示接口变量(断言对象),T表示要转换的目标类型(指定类型),t表示转换后的变量(指定类型接口)。此时,如果i没有实现T,这个语句会触发panic。因此,有以下改进
Locutus
·
2020-08-18 07:05
Go语言Hello world(GOPATH和Go Module版)
本文是「vangoleo的
Go语言学习笔记
」系列文章之一。
vangoleo
·
2020-08-18 06:44
Go
Go语言学习笔记
(六)-方法和接口
方法Go中没有类,但是可以为结构体定义方法,方法就是一类带有特殊的接受者参数的函数。方法接受者在它自己的参数列表内,位于func关键字和方法名之间。例如:packagemainimport"fmt"typeVertexstruct{x,yfloat64}func(vVertex)Abs()float64{returnmath.Sqrt(v.X*v.X+v.Y*v.Y)}funcmain(){v:=
EvansJang
·
2020-08-17 21:24
Go语言
Go语言学习笔记
09--面向对象的接口与多态
1.接口interface(1)接口定义在go语言中接口interface的概念类似于Objective-C中的协议protocol,也就是说实现接口的类必须实现接口中规定的所有方法。(即遵守协议的类必须实现协议中的方法。)接口的出现,实际上是为了面向对象语言编程中模块化思想更好的体现。在go语言中接口通常采用interface关键字定义type接口名称interface{接口方法1(); 接
Frank·Ming
·
2020-08-17 19:37
go语言基础
Go语言学习笔记
10
6.程序测试和文档6.1程序测试Go语言中提供了gotest命令,它不仅仅可以对代码包进行测试,还可以对个别源码文件进行测试,只要存在针对这些测试的测试源码文件。除此之外,Go语言还在标准库中提供了一个专门用于测试的代码包testing,它提供了编写测试源码文件所需的一切。1.功能测试测试源码文件总应该与被它测试的源码文件处于同一代码包内。在编写测试源码文件的时候,总是会用到标准库代码包testi
Huazie
·
2020-08-13 19:21
开发语言-Go
Go语言学习笔记
11
6.程序测试和文档6.1程序测试3.样本测试测试源码文件中还可以添加样本测试函数,但编写样本测试函数不需要使用testing代码包的API。(1).编写样本测试函数样本测试函数的名称需要以“Example”作为开始。在这类函数的函数体的最后还可以有若干个注释行。它们作用是比较在该测试函数被执行期间,标准输出上出现的内容是否与预期的相符。但要想这些注释航被正确地解析,需满足下面几个条件:这些注释行必
Huazie
·
2020-08-13 19:21
开发语言-Go
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他