我们先来看看最简单的本地静态文件服务配置示例:
server { listen 80; server_name www.test.com; charset utf-8; root /data/www.test.com; index index.html index.htm; }
我们先来看看最简单的本地静态文件服务配置示例:
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函数。
流程控制语句对于程序设计来说特别重要,它可以用于设定程序的逻辑结构。一般需要与条件判断语句结合使用。Lua 语言提供的控制结构有 if,while,repeat,for,并提供 break 关键字来满足更丰富的需求。本章主要介绍 Lua 语言的控制结构的使用。
#include <stdio.h> #include <math.h> main() { int i; int x = 16, y = 2; i = 12 * pow(x, y); printf("%d\n", i); }
编译 gcc area.c -0 area.out
报错
/tmp/ccEA3QIN.o: In function `main':
a.c:(.text+0x25): undefined reference to `pow'
什么是泛型?为什么要使用泛型?
泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。