go语言基础

网站

中文官网: http://docscn.studygolang.com/

官方指南: https://github.com/golang/tour

下载地址: https://golang.org/dl/

github: https://github.com/golang

go语言圣经: https://books.studygolang.com/gopl-zh/ch0/ch0-01.html

圣经源代码: https://github.com/adonovan/gopl.io

优秀教程: http://www.flysnow.org/2017/05/08/go-in-action-go-reader-writer.html

地道GoLang需注意: https://www.jianshu.com/p/29543b642485

优秀博客:

string

int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr

byte // uint8 的别名

rune // int32 的别名 // 代表一个Unicode码

float32 float64

complex64 complex128

运算符:

按照优先级递减的顺序排列:
*      /      %      <<       >>     &       &^
+      -      |      ^
==     !=     <      <=       >      >=
&&
||
bit位操作运算符,前面4个操作运算符并不区分是有符号还是无符号数:
&      位运算 AND
|      位运算 OR
^      位运算 XOR       // 二元运算符时是按位异或(XOR),当用作一元运算符时表示按位取反
&^     位清空 (AND NOT) // 按位置零(AND NOT):如果对应y中bit位为1的话, 表达式z = x &^ y结果z的对应的bit位为0,否则z对应的bit位等于x相应的bit位的值
<<     左移  // 一个x<<n左移运算等价于乘以2^n
>>     右移  // 一个x>>n右移运算等价于除以2^n

主要格式化:

%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          变量的类型
%%          字面上的百分号标志(无操作数)
%p          地址

输出:

├── io.Writer # 标准流输出 │ ├── os.Stdout # 标准输出 │ ├── ioutil.Discard # 丢弃的流 │ └── http.ResponseWriter # http响应

底层类型:

// from type.go
const (
	Invalid Kind = iota
	Bool
	Int
	Int8
	Int16
	Int32
	Int64
	Uint
	Uint8
	Uint16
	Uint32
	Uint64
	Uintptr
	Float32
	Float64
	Complex64
	Complex128
	Array
	Chan
	Func
	Interface
	Map
	Ptr
	Slice
	String
	Struct
	UnsafePointer
)

net/http流程

net_http

go object_relation:

object_relation

Table of Contents