命名
YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写。
功能
YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。
它使用 空白符号缩排 和 大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
YAML 的意思其实是:"Yet Another Markup Language"(仍是一种置标语言)的缩写。
YAML的语法和其他高阶语言类似,并且可以简单表达清单、散列表,标量等资料形态、。
它使用 空白符号缩排 和 大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种设定档、倾印除错内容、文件大纲(例如:许多电子邮件标题格式和YAML非常接近)。
项目当中的应用:

web 开发免不了要和 cookie 打交道。Go 的 http 库也提供了 cookie 的相关操作。
type Cookie struct {
Name string
Value string
Path string
Domain string
Expires time.Time
RawExpires string
MaxAge int
Secure bool
HttpOnly bool
Raw string
Unparsed []string
}
Name 字段为 cookie 的名字,Value 是其值,剩下的 Path 和 Domain 则是 cookie 的存储的范围。Expires 是 cookie 的过期时间,如果不设置,那么这是一个 session 型的 cookie,即浏览器会话有用,一旦关闭浏览器,cookie 随即会被删除。
我们先来看看最简单的本地静态文件服务配置示例:
server {
listen 80;
server_name www.test.com;
charset utf-8;
root /data/www.test.com;
index index.html index.htm;
}
package main
import (
"fmt"
)
type A struct {
Text string
Name string
}
func (a *A) Say() {
fmt.Printf("A::Say():%s\n", a.Text)
}
type B struct {
A
Name string
}
func (b *B) Say() {
b.A.Say()
fmt.Printf("B::Say():%s\n", b.Text)
}
func main() {
b := B{A{"hello, world", "张三"}, "李四"}
b.Say()
fmt.Println("b的名字为:", b.Name)
// 如果要显示 B 的 Name 值
fmt.Println("b的名字为:", b.A.Name)
}
输出:
A::Say():hello, world B::Say():hello, world b的名字为: 李四 b的名字为: 张三
本小节主要描述了如何在工程中使用多目录、各种安装指令以及CMAKE_INSTALL_PREFIX变量(你真够牛的,这么点东西居然罗唆了这么多文字)在下一小节,我们将探讨如何在cmake中构建动态库和静态库,以及如何使用外部头文件和外部共享库,毕竟,这是程序编写中最长使用的(对了,你知道用怎样的gcc参数可以直接构建静态库和动态库吗?)
项目开发阶段流程
首先给出《The_C_Programming_Language》这本书中的例子:
#include <stdio.h>
int main()
{
int c;
c = getchar();
while (c != EOF)
{
putchar();
c = getchar();
}
return 0;
}
这里主要解释下为什么要用int型来接受getchar函数。