go

go-admin在线开发平台学习-2[程序结构分析]

点点圈 提交于 2021-02-18 15:36:48
紧接着上一篇,本文我们对go-admin下载后的源码进行分析。 首先对项目所使用的第三方库进行分析,了解作者使用的库是否是通用的官方库可以有助于我们更快地阅读程序。接着对项目的main()方法进行分析,因为程序使用cli的方式启动,对cli不同的命令进行分析。基于此俩点开始工作。 go-admin中使用的第三方库 cobra 强大的cli封装,支持命令嵌套 cast 简单安全的类型转换 casbin 轻量级开源访问控制框架,采用了元模型的设计思想,支持多种经典的访问控制方案,如基于角色的访问控制 RBAC、基于属性的访问控制 ABAC 等 gorm 一个神奇的,对开发人员友好的 Golang ORM 库 sentinel-golang 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。 opentracing-go 分布式追踪库 cron 定时任务库,支持cron表达式 启动分析 main.go作为程序第一个入口文件,main()方法作为程序入口 使用corboa命令行的方式进行启动,有多个不同的命令,如下所示 查看系统版本 go-admin version 查看系统配置 go-admin config 服务启动 go-admin

流程图控件GoJS教程:内置GraphObject类各指数介绍(三)

旧城冷巷雨未停 提交于 2021-02-18 15:35:22
GoJS 是一款功能强大,快速且轻量级的流程图控件,可帮助你在JavaScript 和HTML5 Canvas程序中创建流程图,且极大地简化您的JavaScript / Canvas 程序。 点击下载GoJS最新版 相关内容推荐 流程图控件GoJS教程:内置GraphObject类各指数介绍(一) 流程图控件GoJS教程:内置GraphObject类各指数介绍(二) fromMaxLinks : number 获取或设置此端口可能发出的最大链接数。LinkingBaseTool.isValidFrom使用此属性。 该值必须为非负数。默认值为无穷大。 除非整个Node都充当单个端口,否则必须在portId不为null的GraphObject上设置此属性,在这种情况下,应在Node上设置此属性。 fromShortLength : number 获取或设置来自该端口的链接的末段停止到实际端口的距离。正值受fromEndSegmentLength或Link.fromEndSegmentLength限制。负值会导致链接扩展到端口。默认值为零。 当您具有粗链接和尖的箭头时,此属性很有用。通常,链接Shape一直延伸到箭头的末端。如果链接“形状”较宽,则会在箭头后面看到其边缘。通过将此属性设置为较小的正值,链接形状可以在箭头的主体内结束,而仅箭头的点在链接的末端可见。

vscode之常用快捷键

独自空忆成欢 提交于 2021-02-18 13:42:43
原文章地址: vscode: Visual Studio Code 常用快捷键 官方快捷键说明: Key Bindings for Visual Studio Code 主命令框 F1 或 Ctrl+Shift+P : 打开命令面板。在打开的输入框内,可以输入任何命令,例如: 按一下 Backspace 会进入到 Ctrl+P 模式 在 Ctrl+P 下输入 > 可以进入 Ctrl+Shift+P 模式 在 Ctrl+P 窗口下还可以: 直接输入文件名,跳转到文件 ? 列出当前可执行的动作 ! 显示 Errors 或 Warnings ,也可以 Ctrl+Shift+M : 跳转到行数,也可以 Ctrl+G 直接进入 @ 跳转到 symbol (搜索变量或者函数),也可以 Ctrl+Shift+O 直接进入 @ 根据分类跳转 symbol ,查找属性或函数,也可以 Ctrl+Shift+O 后输入:进入 # 根据名字查找 symbol ,也可以 Ctrl+T 常用快捷键 编辑器与窗口管理 打开一个新窗口: Ctrl+Shift+N 关闭窗口: Ctrl+Shift+W 同时打开多个编辑器(查看多个文件) 新建文件 Ctrl+N 文件之间切换 Ctrl+Tab 切出一个新的编辑器(最多 3 个) Ctrl+\ ,也可以按住 Ctrl 鼠标点击 Explorer 里的文件名 左中右 3

How to access platform specific package documentation?

我怕爱的太早我们不能终老 提交于 2021-02-18 12:59:10
问题 We can access Go's package documentation online on the official website: https://golang.org/pkg/ This only contains the package documentation available on the linux platform ( GOOS ), amd64 archicture ( GOARCH ). Or offline via the go doc command, e.g package doc of the syscall package. go doc syscall This shows documentation for the platform of the Go SDK. Some packages have different API based on the platform we target, most famous is the syscall package. How can we access platform specific

Unity编辑器的扩展:IMGUI

僤鯓⒐⒋嵵緔 提交于 2021-02-18 12:29:04
IMGUI 介绍 所有关于 Editor 的相关 UI,包括 Inspector、Hierarchy、Window、Game 视图上动态创建的那些半透明 UI、还有 Scene 视图上可添加的辅助显示 UI,叫做 IMGUI,全称 Immediate Mode GUI 。该名字来源于两类型的 UI 系统: immediate 和 retained 。 retained:当你设置好各种组件如 Text、Button 等的信息,或修改它们的相关属性后,这些组件的相关信息和改动就被保存(retained)下来了,系统会根据这些新的信息来绘制响应事件等,你可以随时去查询如 Text 文本内容或颜色等信息。UGUI 即是典型的 retained mode GUI。 immediate:跟上面的相反,系统不会自动保存 UI 控件上的各种信息,不会用上次的状态继续工作,而是反复的询问你这些控件应当是处于什么位置什么文本等状态信息。因此任何的用户交互结果是立即呈现返回给用户,而不是当用户需要的时候自行查询。如: 1 bool selected = false ; 2 void OnGUI() 3 { 4 selected = GUILayout.Toggle(selected, " A Toggle text " ); 5 if (selected) 6 { 7 DoSomething() 8 }

Golang template range newline removal

别来无恙 提交于 2021-02-18 12:08:29
问题 I'm trying to figure out how I can remove the new lines in my template that are put there by the {{range}} and {{end}}. I get the following output without any of the "-" tags: type {{makeGoTableName .TableName}} struct { {{range $key, $value := .TableData}} {{makeGoColName $value.ColName}} {{$value.ColType}} `db:"{{makeDBColName $value.ColName}}",json:"{{$value.ColName}}"` {{end}} } Results in: type Dogs struct { ID int64 `db:"id",json:"id"` DogNumber int64 `db:"dog_number",json:"dog_number"`

Golang template range newline removal

这一生的挚爱 提交于 2021-02-18 12:07:49
问题 I'm trying to figure out how I can remove the new lines in my template that are put there by the {{range}} and {{end}}. I get the following output without any of the "-" tags: type {{makeGoTableName .TableName}} struct { {{range $key, $value := .TableData}} {{makeGoColName $value.ColName}} {{$value.ColType}} `db:"{{makeDBColName $value.ColName}}",json:"{{$value.ColName}}"` {{end}} } Results in: type Dogs struct { ID int64 `db:"id",json:"id"` DogNumber int64 `db:"dog_number",json:"dog_number"`

Cgo: sorry, unimplemented: 64-bit mode not compiled in

心不动则不痛 提交于 2021-02-18 10:25:06
问题 I'm currently trying to add some C code to my Go project. nothing fancy /* #include <stdio.h> void test() { printf("hooola") } */ import ( "C" ) func MessageBox() { C.test() } However this will return cc1.exe: sorry, unimplemented: 64-bit mode not compiled in I checked my g++ and gcc compilers and everything seems fine, g++ -v returns this C:\Users\ragga>g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=C:/Program\ Files/mingw-w64/x86_64-6.2.0-posix-seh-rt_v5-rev1/mingw64/bin/.

Go modules: checksum mismatch

不问归期 提交于 2021-02-18 10:14:40
问题 I recently started using modules in Go, but I frequently encounter issues where everything works fine on one machine, but a checksum mismatch is encountered when building the codebase on another machine. The issue always concerns the same third party dependency (github.com/ericlagergren/decimal): go: verifying github.com/ericlagergren/decimal@v0.0.0-20181231230500-73749d4874d5: checksum mismatch downloaded: h1:HQGCJNlqt1dUs/BhtEKmqWd6LWS+DWYVxi9+Jo4r0jE= go.sum: h1:x4oNpFLLl+8l

Go modules: checksum mismatch

时光毁灭记忆、已成空白 提交于 2021-02-18 10:13:45
问题 I recently started using modules in Go, but I frequently encounter issues where everything works fine on one machine, but a checksum mismatch is encountered when building the codebase on another machine. The issue always concerns the same third party dependency (github.com/ericlagergren/decimal): go: verifying github.com/ericlagergren/decimal@v0.0.0-20181231230500-73749d4874d5: checksum mismatch downloaded: h1:HQGCJNlqt1dUs/BhtEKmqWd6LWS+DWYVxi9+Jo4r0jE= go.sum: h1:x4oNpFLLl+8l