
go
文章平均质量分 62
屎山搬运工
这个作者很懒,什么都没留下…
展开
-
golang 泛型 lo
go 1.18之后,go语言做出重大更新:支持泛型。这极大地缩减了代码冗余量,但是同时也降低了代码可读性。它包含了slice、map、tuples等辅助函数,还提供了多个集合之间计算辅助方法,甚至一些搜索查询辅助方法。原创 2023-03-30 10:26:15 · 548 阅读 · 1 评论 -
golang的json编码与解码
golang对于json数据格式的编码和解码方法详解原创 2022-07-24 11:36:27 · 1245 阅读 · 0 评论 -
Java vs Golang:面向对象(OOP)的实现
面向对象的区别Golang是一门具备面向对象编程风格的语言,但是却不具备Java等传统面向对象语言中“继承(extends)、实现(implements)”的关键字。在Golang中,通过接口或结构体的组合来实现非严格的“继承”,通过非侵入式的接口来实现非严格的“多态”,通过结构体及包和函数实现了代码细节的“封装”,有了封装、继承与多态,就可以很好地通过OO思维实现与现实需求所对应的程序了。JavaPersonpublic abstract class Person { protec原创 2021-06-29 13:43:07 · 381 阅读 · 1 评论 -
Java vs Golang:结构体、函数及指针
结构体的声明和使用在Golang中区别与Java最显著的一点是,Golang不存在“类”这个概念,组织数据实体的结构在Golang中被称为结构体。函数可以脱离“类”而存在,函数可以依赖于结构体来调用或者依赖于包名调用。Golang中的结构体放弃了继承、实现等多态概念,结构体之间可使用组合来达到复用方法或者字段的效果。要声明一个结构体只需使用type + struct关键字即可:type Person struct { Name string Age int id string} 使原创 2021-06-29 13:40:27 · 564 阅读 · 0 评论 -
Java vs Golang:基础语法
编码规范代码排版1. 花括号换行风格在Java中,每一条语句以分号";"分隔,是否换行不影响代码的正确性。在python中,取消了分号分隔方式,同时也取消了括号对于代码逻辑的作用(python中各种括号用于不同的数据类型)。因此采用了一种严格的缩进规则来控制代码规范。而Golang取消了Java中的分号分隔,采用换行划分语句,但是保留了括号的使用。但是Golang对花括号的使用较为严格。在Java中,以下两种书写方式都是正确的public String getString(Integer n原创 2021-06-29 13:36:53 · 506 阅读 · 1 评论 -
golang网络编程:获取当前时间戳
func GetTime() string { const shortForm = "2006-01-02 15:04:05" t := time.Now() temp := time.Date(t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Nanosecond(), time.Local) str := temp.Format(shortForm) fmt.Println(t) return str}原创 2020-08-15 21:35:28 · 751 阅读 · 0 评论 -
与云服务器传输文件(WinSCP)
1. 在本地主机下载并安装WinSCP客户端http://winscp.net/eng/docs/lang:chs2. 打开WinSCP如上图所示,填写服务器基本信息点击登录->在此输入密码即可可能遇到的问题:“拒绝访问”解决方法:(尝试一下几种方法)1. 关闭防火墙sudo ufw disable2. 在服务器上安装OpenSSH服务器sudo apt-get install openssh-server3. 端口号22要打开获取root权限修改ssh配置文件:原创 2020-08-12 21:52:25 · 513 阅读 · 0 评论 -
Linux上搭建MySQL数据库
1. 安装MySQL服务器端sudo apt-get install mysql-server执行过程中会设置“root”用户的密码2. 安装MySQL客户端sudo apt-get install mysql-clientsudo apt-get install libmysqlclient-dev3. 查看安装是否成功sudo netstat -nap | grep mysql...原创 2020-08-12 21:41:28 · 304 阅读 · 0 评论 -
在Linux云服务器上搭建golang运行环境
安装go语言环境1. 安装包下载:https://golang.org/dl/(需要梯子)国内安装包下载路径:https://studygolang.com/dl复制链接地址连接服务器,使用wget命令获取安装包首先获取root权限(如果不知道root密码,可以重置密码Su passwd即可设置新密码)2. 安装wgetapt-get install wget查看wget版本检查是否安装成功3. wget命令下载安装包wget https://studygolang.co原创 2020-08-12 21:35:32 · 3097 阅读 · 1 评论 -
golang网络编程:连接MySQL数据库
const (db_driver = "username:password@tcp(127.0.0.1:3306)/DBname?charset=utf8")其中:“username:password”:应填写你的MySQL数据库对应的的用户名和密码“127.0.0.1:3306”:这里是访问本机的数据库(数据库的端口号一般为3306),如果是远程访问,需要修改IP地址。“DBname”:应改为你的数据库的库名“charset=utf8”:这是编码规则连接数据库: opend, db :=原创 2020-08-12 21:16:05 · 539 阅读 · 1 评论 -
golang网络编程:获取本机操作系统和系统架构
在统计用户信息时,需要获取当前用户的操作系统等信息,并返回服务器端。 fmt.Println(runtime.GOOS) //获取当前操作系统 fmt.Println(runtime.GOARCH) //获取当前系统架构输出:windowsamd64原创 2020-08-12 21:00:33 · 817 阅读 · 2 评论 -
golang网络编程:获取本机MAC地址
对于IP地址可以表示一个网络连接,但是无法唯一标识一台主机,而MAC地址是主机网卡的物理地址,这个对于一台主机来说是不会改变的。func mac(){ // 获取本机的MAC地址 interfaces, err := net.Interfaces() if err != nil { panic("Poor soul, here is what you got: " + err.Error()) } for _, inter := range interfaces { fmt.Println原创 2020-08-12 20:53:58 · 4647 阅读 · 0 评论 -
golang网络编程:发送与接收数字
网络通信一般发送与接收的都是字符串,而对于数字的发送与接收需要特殊的编码和解码。发送端: num:=1 var buf = make([]byte, 8) binary.BigEndian.PutUint64(buf, uint64(num)) conn.Write([]byte(buf))接收端: data := make([]byte, 255) //创建一个字节流 msg_read, err := conn.Read(data) //将读取的字节流赋值给m原创 2020-08-12 20:41:41 · 383 阅读 · 0 评论