golang中的函数

函数是构建Go程序的基础部件;所遇有趣的事情都是在它其中发生的。函数
的定义看起来像这样:
Listing 3.1. 函数定义

type mytype int 新的类型,参阅第 5 章
golang-func
0 保留字func用于定义一个函数; Continue reading

[golang]将函数作为值

就像其它在Go中的几乎所有的东西,函数也同样是值而已.它们可以像下面这样赋值给变量:

[java]
package main
import "fmt"

func main() {

f := func() {
fmt.Println("func")
}

//这里没有使用立即调用匿名函数,用法见下面
f()
}
[/java]

结果会打印出 func 字符串。

另一种用法是立即调用函数,但是要求匿名函数要有返回值才可以,不然会提示错误信息.

golang_func

mysql中alter语句中change和modify的区别

以下摘自mysql5手册

您可以使用CHANGE old_col_namecolumn_definition子句对列进行重命名。重命名时,需给定旧的和新的列名称和列当前的类型。例如:要把一个INTEGER列的名称从a变更到b,您需要如下操作:

·                mysql> ALTER TABLE t1 CHANGE a b INTEGER;

如果您想要更改列的类型而不是名称, CHANGE语法仍然要求旧的和新的列名称,即使旧的和新的列名称是一样的。例如:

mysql> ALTER TABLE t1 CHANGE b b BIGINT NOT NULL;

您也可以使用MODIFY来改变列的类型,此时不需要重命名:

mysql> ALTER TABLE t1 MODIFY b BIGINT NOT NULL;

mysql alter 语句用法,添加、修改、删除字段等  Continue reading

windows 下搭建 GoLang 语言开发环境

golang官方二进制分发包包括FreeBSD, Linux, Mac OS X (Snow Leopard/Lion), and Windows等平台,包括32位、64位等版本。

我自己使用的是windows 32位分发包,MSI格式的,下载地址为:http://code.google.com/p/go/downloads/list

golang支持交叉编译,也就是说你在32位平台的机器上开发,可以编译生成64位平台上的可执行程序。 Continue reading

PHP类中static 和self的使用区别

摘自:http://php.net/manual/en/language.oop5.late-static-bindings.php

Limitations of self::

Static references to the current class like self:: or __CLASS__ are resolved using the class in which the function belongs, as in where it was defined:

Example #1 self:: usage

<?php
class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
self::who();
}
}
class B extends A {
public static function who() {
echo __CLASS__;
}
}

B::test();
?>

The above example will output:

A

===================

class A {
public static function who() {
echo __CLASS__;
}
public static function test() {
self::who();
//        static::who();
}
}
A::test();

class B extends A {
public static function who() {
echo __CLASS__;
}
}
echo B::test();

 

如果使用关键字self运行结果:   A A

如果使用关键字static运行结果:A B

static:父类访问了子类的静态方法

self: 是类内指针,指向本类,静态方法,属性