包含标签 golang articles

golang中struct、json、map的转化

一、Json和struct转换 1、json转化为struct结构体 json里面的key和struct里面的key要一致,struct中的key的首字母必须大写,而json中大小写都可以。如果json中使用的是小写,如何与struct中的保持一致呢?这里就可以使用tag在结构体定义……

Continue reading

golang之map字典

map 是一种无序的键值对的集合。map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。map 是无序的,我们无法决定它的返回顺序,这是因为 map 是使用 hash 表来实现的。map 的 hash 表包含了一个桶集合(collection of buckets)。当我们存储,移除或者查找键值对(ke……

Continue reading

golang结构体的使用

结构体(struct)是用户自定义的类型,它代表若干字段的集合。有些时候将多个数据看做一个整体要比单独使用这些数据更有意义,这种情况下就适合使用结构体。比如将一个员工的 firstName, lastName 和 age 三个属性打包在一起成为一个 employee 结构就是很有意义的。其使用需要遵循以下要求: 使用type struct{} 定义结构,名称遵循……

Continue reading

golang time模块相关

在很多种语言中都有和时间相关的模块,在python和golang中内置的模块名称都是叫time模块,只不过用法略有区别,如在python下打印当前时间是time.time,在golang下则使用的time.now(两者的输出也略有区别的,前者输的是unix time,后者输出的是常……

Continue reading

golang读取一个未知的Json

json数据有一般常见的格式是以{}开头结尾,还有一种是以[]开头结尾。这里分别针对不同类型的json格式进行处理,具体代码如下: 1package main 2import ( 3 "encoding/json" 4 "fmt" 5 "strings" 6) 7func UnknownJson(data string) { 8 if data != `` { 9 r := strings.NewReader(data) 10 dec := json.NewDecoder(r) 11 switch data[0] { 12 case 91: 13 // "[" 开头的Json 14 param := []interface{}{} 15 dec.Decode(¶m) 16 fmt.Println(param) 17 case 123: 18 // "{" 开头……

Continue reading

golang json数据的处理

使用golang下的net/http模块,可以很容易的实现webserver功能。本篇就结合http模块在POST发送josn数据给webserver以及webserver在收到json数据后如何处理。 一、server端处理json数据 server端代码如下: 1package main 2 import ( 3 "net/http" 4 "fmt" 5……

Continue reading

golang执行系统command

golang下的os/exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout。这点和python下的command、os.system等功能是一样的。这里列两个具体操作的代码。其可以调用类LINUX系统下的shell命令,也可……

Continue reading

golang中json的使用

一、Unmarshal和Marshal方法 golang中使用json,经常会使用到两个函数Unmarshal和Marshal,前者用于将json数据反序列化为其他数据,后者用于将struct、map、slice序列化为json数据。 1、Unmarshal方法 1func Unmarshal(data []byte, v interface{}) error 2将jso……

Continue reading

golang os模块读写文件

一、os模块中和文件读写相关的方法 golang os模块提供了操作文件、控制权限、获取进程等相关的多个方法。这里还是承接上一篇《golang文件读写之ioutil方法》,只介绍和文件读写相关的方法。 1、创建文件的方法 1func Create(name string) (file *File, err Error) 2根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0……

Continue reading

golang文件读写之ioutil方法

使用golang语言去读写一个文件会有多种方式,这里先从io/ioutil包开始。io/ioutil包提供了以下函数供用户调用: 1[root@localhost ~]# godoc io/ioutil|grep "func.*(" 2func NopCloser(r io.Reader) io.ReadCloser 3func ReadAll(r io.Reader) ([]byte, error) 4func ReadDir(dirname string) ([]os.FileInfo, error) 5func ReadFile(filename string) ([]byte, error) 6func TempDir(dir, prefix string) (name string, err error) 7func TempFile(dir, prefix string) (f *os.File, err error) 8func WriteFile(filename string, data []byte, perm os.FileMode) error 一、文件读取 从上面的godoc帮助文档中,可以看到Rea……

Continue reading

Latest articles

Categories

Tags

ACL AD AES AI AWS Ansible Atlassian Azure BMC Blockchain Brocade CDH5 CL210 Cobbler Confd C语言 DDOS DISTINCT DNS Duckdb EKS ELK GCP Ghost Git Glusterfs Go Godaddy Grafana HBA HCIE Hotspot HttpWatch IBM IIS IOS InfluxDB Ingress InnoDB JavaScript Jinja2 KVM Keepalived Mplayer MySQLdb Netlify OpenResty PM PostgreSQL QoS RH318 RH442 RHCA RHCE RHEV RSA SRE SecureCRT Statuscode SublimeText2 TC Telecom Tencentcloud VBA aira2 alpine android anpic apache apm apparmor appfog apr apt-get aria2 array atop audit awk awstats axel backdoor backup bamboo bash bat benchmark bigdata bin bind bitwise book bootstrap bsd c1000 cache capistrano catlog centos centos7 chatops chattr check_mk checkinstall cisco clearall clickhouse cloud-desktop cmdb cms collectd comm compress conver corosync cpu crontab crunchbang css curl date decode dell desktop devops df dhcp diff diskpart django docker dos2unix dpkg drupal etcd excel fail2ban fastcgi fdisk fiddler find firewalld flask flvtool ftp function fuser geek gin github gitlab glances golang google gooupadd graphviz gravatra grep grub2 hadoop haproxy hardware heartbeat helm hexdump hhvm history html http/html/web httplogs https huawei huaweicloud hugo icmp iconv ifconfig inotify iopp ipmitool iptables iredmail iscsi isito it-news java jdk jenkins jira join joomla k3s k8s kdump kernel kingate lamp last leetcode lib light-http linux linux高级篇 ln ls lsi lsof lvm lvs mac mail man mark markdown matplotlib maven memcached microservice mimikatz mkdocs mkpasswd mmonit mod_jk mongodb monit monitor mono moodle mosh mount mpm mrtg mtr my.cnf mysql mysqlbinlog mysqld_multi mysqldump mysqlhotcopy nagios nc nethogs nexus nfs nginx nmon nocatlog node.js nrpe ntfs ntop ntp obs ocr open-falcon openbox opencv openldap openssl openstack oracle oswatch paas pacemaker pam pandas parted pcp pcre pdf percona perl pexpect pgrep php php-fpm ping plsql develope postfix powershell prettify proc prometheus puppeteer pushd pwgen pxe pyecharts python python模块 radmin raid rdesktop read redhat redis redmine regex rh134 rhel7 rhel8 rm rman rootkit route rpm rpmforge rrdtool rsync rsyslog safe saltstack samba scapy screen sed selenium selinux seo seq session set shc sheepdog shell shopt sitemap skydns smokeping snffier snmp socket soft sort spider sql sqlserver squid ss ssh sshpass strace strings su sudo suse svn sysbench syslog-ng sysstat systemd t tar tcpcopy tcpdump tech telnet tengine test testlink threads time tmux tomcat touch tr tsar twisted ubuntu udev ulimit unix unixbench user-agent useradd varnish vbs vercel vi vim visudo vmstat vmware vnc voice vpn vscode vsftp vsftpd vue watchdog web webcam webistrano wget wiki windows wol wordpress workshop wsl x-windows xampp xcache xmllint xtrabackup yule yum zabbix zeromq zip zonetime zookeeper 下载工具 云主机 云原生 代理 加密 古意 吐槽 圈里圈外 娱乐 字符串函数 安全 平台架构 意林 推理 提权 故事汇 故障案例 数据结构 每日看点 民国史 生活 科学记录 站长管理工具 算法 管理 网站架构 翻墙 股票 行业 诗韵 负载均衡 远程管理 面试题

Links

Meta