2020-11-10 22:40:10
1575
0
0
## 简介及使用教程
Mattermost是一个团队协作Slack的替代方案,开放源代码、自托管,使用Golang和React编写的,并且与MySQL或PostgreSQL一起作为单个Linux二进制文件运行。
## 1. 安装数据库
这里以CentOs 7为例(适用于CentOS、 Oracle Linux和 Scientific Linux)。
### 安装Mysql
下载Mysql
2020-09-30 08:22:43
273
0
0
**前言**
本篇主要讲述Go语言的命名规范。优秀的代码必须具备良好的可读性,而可读性的关键即在于命名风格。
Go的函数、变量、常量、自定义类型、包(Package)的命名方式遵循以下规则:
1)首字符可以是任意的Unicode字符或者下划线
2)剩余字符可以是Unicode字符、下划线、数字
3)字符长度不限
Go只有25个关键字
break default
2019-05-14 00:14:04
659
0
0
SeaweedFS是一种简单的、高度可扩展的分布式文件系统。有两个目标:
1)存储数十亿的文件!
2)查看档案快!
SeaweedFS最初作为一个对象存储来有效地处理小文件。中央主服务器只管理文件卷,而不是管理中央主服务器中的所有文件元数据,它允许这些卷服务器管理文件及其元数据。这减轻了中央主服务器的并发压力,并将文件元数据传播到卷服务器,允许更快的文件访问(只需一个磁盘读取操作)。
每个文件
Nging
2019-05-08 00:58:05
428
0
0
# Nging
![Nging's logo](https://github.com/admpub/nging/blob/master/public/assets/images/nging-gear.png?raw=true)
基于 caddy 的网站服务程序,带图形化管理界面。
本软件项目不仅仅实现了一些网站服务工具,本身还是一个具有很好扩展性的通用网站后台管理系统,通过本项目,您可以很
2019-03-31 16:03:51
350
0
0
【注释】
{{/* a comment */}}
使用{{/*
和*/}}
来包含注释内容
【变量】
{{.}}
此标签输出当前对象的值
{{.Admpub}}
表示输出Struct对象中字段或方法名称为“Admpub”的值。
当“Admpub”是匿名字段时,可以访问其内部字段或方法,比如“Com”:{{.Admpub.Com}} ,
如果“Com”是一个方法并返回一个Struct对象,同样也可以访问其字段或方法:{{.Admpub.Com.Field1}}
{{.Method1 "参数值1" "参数值2"}}
调用方法“Method1”,将后面的参数值依次传递给此方法,并输出其返回值。
{{$admpub}}
此标签用于输出在模板中定义的名称为“admpub”的变量。当$admpub
本身是一个Struct对象时,可访问其字段:{{$admpub.Field1}}
在模板中定义变量:变量名称用字母和数字组成,并带上$
前缀,采用符号“:=”进行赋值。
比如:{{$x := "OK"}}
或 {{$x := pipeline}}
【管道函数】
- 用法1:
{{FuncName1}}
此标签将调用名称为“FuncName1”的模板函数(等同于执行“FuncName1()”,不传递任何参数)并输出其返回值。
- 用法2:
{{FuncName1 "参数值1" "参数值2"}}
此标签将调用“FuncName1("参数值1", "参数值2")”,并输出其返回值
- 用法3:
{{.Admpub|FuncName1}}
此标签将调用名称为“FuncName1”的模板函数(等同于执行“FuncName1(this.Admpub)”,将竖线“|”左边的“.Admpub”变量值作为函数参数传送)并输出其返回值。
【条件判断】
- 用法1:
{{if pipeline}} T1 {{end}}
标签结构:{{if ...}} ... {{end}}
- 用法2:
{{if pipeline}} T1 {{else}} T0 {{end}}
标签结构:{{if ..
2019-03-16 10:38:32
238
0
0
# 编译标签方式
例如:
```go
// +build darwin freebsd netbsd openbsd
```
在源码头部放置条件编译标签,将限制文件仅能在BSD系统进行编译
当一个文件有多个编译标签,总的限制是单个限制的逻辑与,例如:
```go
// +build linux darwin
// +build 386
```
限制只能在linux/386或darwin/386
2/2