GO 语言

数据库工具

xorm

http://www.xorm.io/
https://github.com/go-xorm/xorm/

xormplus

https://github.com/xormplus/xorm

golang 配置工具 TOML

https://github.com/toml-lang/toml
配置文件的使用由来已久,从.ini、XML、JSON、YAML再到TOML,语言的表达能力越来越强,同时书写便捷性也在不断提升。 TOML是前GitHub CEO, Tom Preston-Werner,于2013年创建的语言,其目标是成为一个小规模的易于使用的语义化配置文件格式。TOML被设计为可以无二义性的转换为一个哈希表(Hash table)
案例

title = "TOML Example"

[owner]
name = "Lance Uppercut"
dob = 1979-05-27T07:32:00-08:00 # 日期是一等公民

[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true

[servers]
  #你可以使用空格、制表符进行缩进,或者根本不缩进。TOML不关心缩进。
  [servers.alpha]
  ip = "10.0.0.1"
  dc = "eqdc10"

  [servers.beta]
  ip = "10.0.0.2"
  dc = "eqdc10"

[clients]
data = [ ["gamma", "delta"], [1, 2] ]

# 数组内可以混入换行符
hosts = [
  "alpha",
  "omega"
]

规格

TOML是大小写敏感的。
TOML文件必须只包含UTF-8编码的Unicode字符。
空格是指制表符(0x09) 或空格 (0x20)。
换行符是指LF(0x0A)或CRLF (0x0D0A).

注释

用符号#来表示注释:

# I am a comment. Hear me roar. Roar.
key = "value" # Yeah, you can do this.

更多请看
https://github.com/toml-lang/toml/blob/master/versions/cn/toml-v0.4.0.md

项目收藏

https://www.cnblogs.com/52php/p/6060104.html
https://studygolang.com/articles/7708
https://github.com/avelino/awesome-go 整理了常见的 Go 框架或代码库 (感谢他)

golang 包搜索

https://go-search.org/

golang 官方维护了一个基于go语言的开源项目列表

https://github.com/golang/go/wiki/Projects

1.初始化

风.fox

未进行初始化的变量都会被初始化为该类型的“零值”

// 先定义结构体  
type User struct {  
    Name  string
    Age int  
}  

// 再初始化结构体

这两个初始化是相同的
u1 := new(User)  
u2 := &User{}  

以下初始化也是相同的

u3 := &User{"小薇", 20}  
u4 := &User{Name:"小薇", Age:20}  

// 定义和初始化同时进行

U5 := &UserProfile{Address string, Sex string}{"深圳", "女"}    

new 返回是一个指针

这两个初始化是相同的
u1 := new(User)  
u2 := &User{}  

以下返回的是一个User类型

u2 := User{} 

go import 包的导入语法 特殊的几种说明

来自:https://studygolang.com/articles/4580

go import 下划线

import 下划线(如:import _ hello/imp)的作用:当导入一个包时,该包下的文件里所有init()函数都会被执行,然而,有些时候我们并不需要把整个包都导入进来,仅仅是是希望它执行init()函数而已。这个时候就可以使用 import _ 引用该包。即使用【import _ 包路径】只是引用该包,仅仅是为了调用init()函数,所以无法通过包名来调用包中的其他函数

go import 点操作

这个点操作的含义就是这个包导入之后在你调用这个包的函数时,你可以省略前缀的包名,也就是前面你调用的fmt.Println(“hello world”) 可以省略的写成Println(“hello world”)

go import 别名操作

别名操作顾名思义可以把包命名成另一个用起来容易记忆的名字
import( f "fmt" ) 别名操作调用包函数时前缀变成了重命名的前缀,即f.Println("hello world")

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

风.foxwho

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值