time.Parse(layout, "2023-03-04")
其中layout用类似"2006-01-02 15:04:05"这样的字符串做模板,这个对开发者太友好了,再也不用yyyy记忆了,一些内置的如下:
const (
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:[......]
Tag Archives: 解析
Go解析json文件
json配置为
{
"items": [
{
"url": "https://xxx.com",
"name": "xxx"
}
]
}
对应解析为
import "encoding/json"
type CfgItem struct {
Url string
Name string
Check bool
}
type Cfg struct[......]
iOS从URL中解析query的key&value对
Swift 3现在提供了内置方法,可以做个简单的封装:
extension String {
/// 假设string是url,抽取key&value对
func tt_urlQueryDict() -> [String: String] {
var dict = [String:String]()
guard let queryItems = URLComponents(string: self)?.queryItems[......]
推荐开源的INI文件解析器SimpleINI(c++)
在Python中,INI解析这种问题交给ConfigParser就行了,非常简单,但是C++显然没有原生的类库解决问题。
Windows下的ini API不是可移植的,所以无视它。
推荐一个非常好用的,跨平台的INI解析器:SimpleINI,支持section,读、写、各种value,遍历等。
网址:http://code.jellycan.com/simpleini/
旧代码废弃了,已经托管到github上:https://github.com/brofield/simp[......]
Linux解析命令行参数 - getopt
通常 Linux 下的各种命令都有许多的命令行参数可以选择,比如:
gcc -g -lm foo.c -o foo
getopt()就是用来分析命令行参数的函数。
在继续讨论getopt 之前,先要明确两个概念:选项(option) 和 选项参数(argument)。
在上面的例子中,-g 中的 g,-o 中的 o 还有 -lm 中的 l 就是选项,而 -lm 中的 m 就是 l 的选项参数,-o foo 中的 foo 就是 o 的选项参数。因此,我们知道了选项有两种,一种是带选项参数的[......]