Go是编译型语言。 如果缺少import或者导入之后没有使用,程序都不会进行编译。 Go每行结尾并不需要加分号(加分号也不会报错,但不符合规范) Go提供了gofmt命令来处理编码规范问题。
$ gofmt --help
usage: gofmt [flags] [path ...]
-cpuprofile string
write cpu profile to this file
-d display diffs instead of rewriting files
-e report all errors (not just the first 10 on different lines)
-l list files whose formatting differs from gofmt's
-r string
rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')
-s simplify code
-w write result to (source) file instead of stdout
os.Args //命令行输入,os.Args[0]表示命令本身
for initialization; condition; post {
//zero or more statements
}
// 相当于while
for condition {
}
// 相当于无限循环
for {
}
range //返回当前索引的索引和值
ch := make(chan string) //初始化字符串类型的通道
<-ch //从通道中取值
ch <- //往通道中写入值
strings.Join(<list>, sep) // 功能和python中join一样
input := bufio.NewScanner(os.Stdin) //读取标准输入的数据,并分解为行或单词
input.Scan() //读取下一行,并去掉换行符
input.Text() //获取输入内容
%d 十进制整数
%x, %o, %b 十六进制,八进制,二进制整数。
%f, %g, %e 浮点数: 3.141593 3.141592653589793 3.141593e+00
%t 布尔:true或false
%c 字符(rune) (Unicode码点)
%s 字符串
%q 带双引号的字符串"abc"或带单引号的字符'c'
%v 变量的自然形式(natural format)
%T 变量的类型
%% 字面上的百分号标志(无操作数)
fmt.Sprintf //返回格式化后的字符串
fmt.Println //打印到标准输出,返回字节数和err
// 格式化字符串并写入到w中,返回写入的字节数和err
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
// 返回一个可读文件对象
func Open(name string) (*File, error) //os.Open
func Exit(code int) //os.Open,结束程序,0表示成功
func ReadFile(filename string) ([]byte, error) //ioutil.ReadFile,读取整个文件并返回内容
func ReadAll(r io.Reader) ([]byte, error) //ioutil.ReadAll,从r中读取直到EOF或产生错误
func Join(a []string, sep string) string //strings.Join
func Split(s, sep string) []string //strings.Split
func (c *Client) Get(url string) (resp *Response, err error)//http.Get
func (mux *ServeMux) HandleFunc(pattern string, handler func(ResponseWriter, *Request)) //http.HandleFunc,根据pattern注册处理函数
func Fatal(v ...interface{}) //log.Fatal,等同于Print()+os.Exit(1)
func Now() Time //time.Now,返回本地当前时间
func Since(t Time) Duration //time.Since
//sync.Mutex
func (m *Mutex) Lock()
func (m *Mutex) Unlock()
//io
func Copy(dst Writer, src Reader) (written int64, err error) //copy src to dst, ioutil.Discard相当于/dev/null
Ref: 1.The Go Programming Language