
go
文章平均质量分 62
屎山搬运工
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
golang 泛型 lo
go 1.18之后,go语言做出重大更新:支持泛型。这极大地缩减了代码冗余量,但是同时也降低了代码可读性。它包含了slice、map、tuples等辅助函数,还提供了多个集合之间计算辅助方法,甚至一些搜索查询辅助方法。原创 2023-03-30 10:26:15 · 580 阅读 · 1 评论 -
golang的json编码与解码
golang对于json数据格式的编码和解码方法详解原创 2022-07-24 11:36:27 · 1284 阅读 · 0 评论 -
Java vs Golang:面向对象(OOP)的实现
面向对象的区别 Golang是一门具备面向对象编程风格的语言,但是却不具备Java等传统面向对象语言中“继承(extends)、实现(implements)”的关键字。 在Golang中,通过接口或结构体的组合来实现非严格的“继承”,通过非侵入式的接口来实现非严格的“多态”,通过结构体及包和函数实现了代码细节的“封装”,有了封装、继承与多态,就可以很好地通过OO思维实现与现实需求所对应的程序了。 Java Person public abstract class Person { protec原创 2021-06-29 13:43:07 · 399 阅读 · 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 · 604 阅读 · 0 评论 -
Java vs Golang:基础语法
编码规范 代码排版 1. 花括号换行风格 在Java中,每一条语句以分号";"分隔,是否换行不影响代码的正确性。 在python中,取消了分号分隔方式,同时也取消了括号对于代码逻辑的作用(python中各种括号用于不同的数据类型)。因此采用了一种严格的缩进规则来控制代码规范。 而Golang取消了Java中的分号分隔,采用换行划分语句,但是保留了括号的使用。 但是Golang对花括号的使用较为严格。 在Java中,以下两种书写方式都是正确的 public String getString(Integer n原创 2021-06-29 13:36:53 · 527 阅读 · 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 · 768 阅读 · 0 评论 -
与云服务器传输文件(WinSCP)
1. 在本地主机下载并安装WinSCP客户端 http://winscp.net/eng/docs/lang:chs 2. 打开WinSCP 如上图所示,填写服务器基本信息 点击登录->在此输入密码即可 可能遇到的问题: “拒绝访问” 解决方法:(尝试一下几种方法) 1. 关闭防火墙 sudo ufw disable 2. 在服务器上安装OpenSSH服务器 sudo apt-get install openssh-server 3. 端口号22要打开 获取root权限 修改ssh配置文件:原创 2020-08-12 21:52:25 · 521 阅读 · 0 评论 -
Linux上搭建MySQL数据库
1. 安装MySQL服务器端 sudo apt-get install mysql-server 执行过程中会设置“root”用户的密码 2. 安装MySQL客户端 sudo apt-get install mysql-client sudo apt-get install libmysqlclient-dev 3. 查看安装是否成功 sudo netstat -nap | grep mysql ...原创 2020-08-12 21:41:28 · 323 阅读 · 0 评论 -
在Linux云服务器上搭建golang运行环境
安装go语言环境 1. 安装包下载: https://golang.org/dl/(需要梯子) 国内安装包下载路径:https://studygolang.com/dl 复制链接地址 连接服务器,使用wget命令获取安装包 首先获取root权限 (如果不知道root密码,可以重置密码 Su passwd 即可设置新密码 ) 2. 安装wget apt-get install wget 查看wget版本检查是否安装成功 3. wget命令下载安装包 wget https://studygolang.co原创 2020-08-12 21:35:32 · 3131 阅读 · 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 · 559 阅读 · 1 评论 -
golang网络编程:获取本机操作系统和系统架构
在统计用户信息时,需要获取当前用户的操作系统等信息,并返回服务器端。 fmt.Println(runtime.GOOS) //获取当前操作系统 fmt.Println(runtime.GOARCH) //获取当前系统架构 输出: windows amd64原创 2020-08-12 21:00:33 · 838 阅读 · 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 · 4679 阅读 · 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 · 401 阅读 · 0 评论