随笔分类 -  Go

Golang
摘要:原文地址:[https://blog.fanscore.cn/a/53/](https://blog.fanscore.cn/a/53/) # 1. 前言 本文是[与世界分享我刚编的转发ntunnel_mysql.php的工具](https://blog.fanscore.cn/a/47/)的后续, 阅读全文
posted @ 2023-05-24 22:02 orlion 阅读(809) 评论(0) 推荐(1)
摘要:原文地址:https://blog.fanscore.cn/p/34/ 引言 本文以go1.14 darwin/amd64中的原子操作为例,探究原子操作的汇编实现,引出LOCK指令前缀、可见性、MESI协议、Store Buffer、Invalid Queue、内存屏障,通过对CPU体系结构的探究, 阅读全文
posted @ 2021-01-23 18:39 orlion 阅读(2993) 评论(2) 推荐(0)
摘要:原文地址:https://blog.fanscore.cn/p/33/ 先说结论 uintptr 是一个地址数值,它不是指针,与地址上的对象没有引用关系,垃圾回收器不会因为有一个uintptr类型的值指向某对象而不回收该对象。 unsafe.Pointer是一个指针,类似于C的void *,它与地址 阅读全文
posted @ 2021-01-04 20:19 orlion 阅读(1162) 评论(0) 推荐(0)
摘要:原文地址: https://blog.fanscore.cn/p/24/ 相信大家都听说过内存对齐的概念,不过这里还是通过一个现象来引出本篇话题。 一、求一个结构体的size 猜下下面这个结构体会占用多少字节 type S struct { B byte // Go中一个byte占1字节,int32 阅读全文
posted @ 2020-11-06 07:23 orlion 阅读(1025) 评论(2) 推荐(4)
摘要:一、 最近用在学习golang,写了个小工具练练手。通过golang模拟微信网页端,接收微信服务器的消息并定制。可接入图灵机器人的api实现一个微信机器人的小玩具,当然了,可以有更多更好玩的玩法。 二、 地址: https://github.com/Orlion/Gochat Gochat 一个Go 阅读全文
posted @ 2017-04-24 22:11 orlion 阅读(6732) 评论(0) 推荐(0)
摘要:Go语句和通道类型是Go语言的并发编程理念的最终体现。与defer语句相同,go语句也可以携带一个表达式语句。Go语句的执行会很快结束,并不会对当前流程的进行造成阻塞或明显的延迟。一个简单的示例: go语句仅由一个go关键字和一条表达式语句组成。同样的,go语句的执行与其携带的表达式语句的执行在时间 阅读全文
posted @ 2017-03-21 20:33 orlion 阅读(2899) 评论(0) 推荐(0)
摘要:一、defer语句 defer语句仅能被放置在函数或方法中。它由关键字defer和一个调用表达式组成。这里的表达式所表示的既不能是对Go语言内建函数的调用也不能是对Go语言标准库代码包unsafe中的那些函数的调用。实际上,满足上述条件的表达式被称为表达式语句。例: 函数readFile的功能是读取 阅读全文
posted @ 2017-03-20 21:12 orlion 阅读(880) 评论(0) 推荐(0)
摘要:一、if语句 Go的流程控制主要包括条件分支、循环和并发。 if语句一般由if关键字、条件表达式和由花括号包裹的代码块组成。在Go中,代码块必须由花括号包裹。这里的条件表达式是结果类型为bool的表达式。例: else分支: if语句还支持串联 上面的number变量可以用单独的语句来声明也可以直接 阅读全文
posted @ 2017-03-19 18:12 orlion 阅读(5535) 评论(0) 推荐(0)
摘要:一、函数 Go中函数是一等(first-class)类型。我们可以把函数当作值来传递和使用。Go中的函数可以返回多个结果。 函数类型字面量由关键字func、由圆括号包裹声明列表、空格以及可以由圆括号包裹的结果声明列表组成。其中参数声明列表中的单个参数声明之间是由英文逗号分隔的。每个参数声明由参数名称 阅读全文
posted @ 2017-03-18 15:36 orlion 阅读(6980) 评论(1) 推荐(0)
摘要:一、Go语言基础 1. 基础 Go语言中的标识符必须以字母(Unicode字母,PHP/JS可以用中文作为变量名)下划线开头。大写字母跟小写字母是不同的:Hello和hello是两个不同的名字。 Go中有25个关键字: 如果一个名字是在函数内容定义,那么它的作用域就在函数内容,如果在函数外部定义,那 阅读全文
posted @ 2017-03-12 18:21 orlion 阅读(8885) 评论(3) 推荐(0)