怎么建设淘客自己的网站、,网站怎么才有alexa排名,做网站代码用什么软件,自建网站阿里云备案通过后怎么做package (包) 一个目录下面所有的.go文件的包名必须相同. 包名一般和目录名相同(是约定, 不是强制), 包名都小写main包是一个特殊的包名, 在main包中, 必须包含func main()函数导入包(import)的时候, 使用的是包所在目录的路径, 路径中不用包含包的名字, 在使用包的时候,直接用…package (包) 一个目录下面所有的.go文件的包名必须相同. 包名一般和目录名相同(是约定, 不是强制), 包名都小写main包是一个特殊的包名, 在main包中, 必须包含func main()函数导入包(import)的时候, 使用的是包所在目录的路径, 路径中不用包含包的名字, 在使用包的时候,直接用包名(如 fmt.Println)可见性规则 当标识符包括常量、变量、类型、函数名、结构字段等等以一个大写字母开头如Group1那么使用这种形式的标识符的对象就可以被外部包的代码所使用客户端程序需要先导入这个包这被称为导出像面向对象语言中的 public标识符如果以小写字母开头则对包外是不可见的但是他们在整个包的内部是可见并且可用的像面向对象语言中的 private 。 声明语句 Go语言主要有四种类型的声明语句var、const、type和func分别对应变量、常量、类型和函数实体对象的声明 函数 main 和 init 函数既没有参数也没有返回类型 占位符 https://studygolang.com/articles/2644 %t : 布尔类型%p : 指针, 表示为十六进制并加上前导的0x%s : 字符串%c : 字符%b , %o , %d : 二进制 , 八进制 , 十进制%x , %X : 十六进制小写 , 十六进制大写%T : 变量类型%v : 根据数据类型输出对应格式的值%% : 百分号%q : 用引号包含字符串%5s , %-5s : 在格式化数字时可以在动词的“%”后面使用一个数字来控制结果图形的宽度和精度。默认为右对齐, 在数字前面加上-可以左对齐%06d : 使用0而不是空格填充, 对于数值类型会把填充的0放在正负号后面%3.3f : 浮点数的宽度和精度内置函数 len : 返回某个类型的长度或数量capnewmakenew 和 make的区别 https://studygolang.com/articles/1890数组 数组的长度和类型一起构成了数组的类型, 比如 var array 实现接口 https://www.jianshu.com/p/d87c69ac6ce7 当涉及到我们该怎么让我们的类型实现接口时Go 语言是特别的一个。Go 语言不需要我们显式的实现类型的接口。如果一个接口里的所有方法都被我们的类型实现了那么我们就说该类型实现了该接口。 数据类型 布尔类型不能接受其他类型的赋值不支持自动或强制的类型转换int和int32在Go语言里被认为是两种不同的类型可赋值(这里不能叫类型转换, 用可赋值表达更准确些) A value x is assignable to a variable of type T (x is assignable to T) in any of these cases:在一下这些情况值x可以赋值给类型为T的变量(x可以赋值给T) 1. xs type is identical to T.1. x的类型和T的类型相同2. xs type V and T have identical underlying types and at least one of V or T is not a named type.2. x和T具有相同的底层类型, 并且x和T至少有一个是非命名类型3. T is an interface type and x implements T.3. T是接口类型x实现了T4. x is a bidirectional channel value, T is a channel type, xs type V and T have identical element types, and at least one of V or T is not a named type.4. x是双向的chan类型的值, T是chan类型, x和T具有相同的元素类型, 并且x和T至少有一个是非命名类型5. x is the predeclared identifier nil and T is a pointer, function, slice, map, channel, or interface type.5. x的值为nil, 并且T是指针、函数、切片、映射、通道或接口类型6. x is an untyped constant representable by a value of type T.6. x是一个没有指定类型的常量, 可以赋值给类型T(这里要遵循第一条原则, 但数字类型除外) 整型数据类型及取值范围 类型字节范围int8 1 -128 ~ 127uint8 1 0 ~ 255int16 2 -32 768 ~ 32 767uint16 2 0 ~ 65 535int32 4 -2 147 483 648 ~ 2 147 483 647uint32 4 0 ~ 4 294 967 295int64 8 -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807uint64 8 0 ~ 18 446 744 073 709 551 615int平台相关 平台相关uint平台相关 平台相关 uintptr 同指针在32位平台下为4字节64位平台下为8字节 goroutine/channel goroutine是Go语言中的轻量级线程实现由Go运行时runtime管理函数调用前加上go关键字这次调用就会在一个新的goroutine中并发执行。当被调用的函数返回时这个goroutine也自动结束了。需要注意的是如果这个函数有返回值那么这个返回值会被丢弃。在没有使用channel时, Go程序从初始化main package并执行main()函数开始当main()函数返回时程序退出且程序并不等待其他goroutine非主goroutine结束。在向channel中写入数据前, 对channel的读操作是阻塞的, 读channel的位置就是同步goroutine的位置