在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1 If for 后面没有小括号。后面的花括号,要在当前行,并且中间有内容,右花括号要单独一行。 因为go会格式化代码,自动插入分号。 2 函数和方法的区别: 方法需要有一个接受者(selector)实列的函数。这个实例必须在和方法同样的包中生命。
func Add(a ,b int){ //函数 fmt.Println(a+b) }
func (a myInt) Add (b myInt){ //方法 fmt.Println(a+b) } 参考文章:https://blog.csdn.net/zyc88888/article/details/80307008
3 首写是大写的字母的名称是被导出的。
4 括号后面的int是返回值的类型。 返回值的个数和函数中返回值的个数对应。可以有多个返回值。 func add(x int, y int) int{
5 var 语句定义了一个变量列表。 6 := 在go中是简洁赋值语句,只能用在函数内部。函数外部,需要用var,func等语句开头。 在函数中,`:=` 简洁赋值语句在明确类型的地方,可以用于替代 var 定义。
7 Go 的基本类型有Basic types bool
string
int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr
byte // uint8 的别名
rune // int32 的别名 // 代表一个Unicode码
float32 float64
complex64 complex128
8 fmt.Printf(" x is type of %T",x) 可以确定x数值的类型。 9 常量用const定义不能使用:=语法定义。 10 byte为什么要&0xff 这样能保证符号位不变 0xff 的二进制位为 11111111 在进行& 运算时,高位补0 所以,可以保证另一个数的低8位不变。 参考文章:https://blog.csdn.net/i6223671/article/details/88924481
11 math.Sqrt() 是开平方根的意思。 12 math.Pow(x, n) 返回的是x 的n次方。 13 fmt.Printf("%g >= %g\n",v,lim) v 和lim 能代替前面的 %g v,代替第一个 lim 代替第二个。
14 go语言 牛顿法开平方: 作为练习函数和循环的简单途径,用牛顿法实现开方函数。 在这个例子中,牛顿法是通过选择一个初始点 z 然后重复这一过程求 Sqrt(x) 的近似值:
为了做到这个,只需要重复计算 10 次,并且观察不同的值(1,2,3,……)是如何逐步逼近结果的。 然后,修改循环条件,使得当值停止改变(或改变非常小)的时候退出循环。观察迭代次数是否变化。结果与 [[http://golang.org/pkg/math/#Sqrt][math.Sqrt] 接近吗? 提示:定义并初始化一个浮点值,向其提供一个浮点语法或使用转换:
func main() {
15 switch 匹配成功会自动停止。 16 没有条件的switch和switch true 一样。 17 defer 可以延迟一个函数的执行。 Defer 延迟函数的 执行顺序是后进先出。 被defer延迟的函数的实参(如果是方法,还包括方法的接收者),在defer语句出就会计算,而不是等到调用时才计算。 18 go语言有指针,指针指向了变量的内存地址。 var i = 10 p := &i &会生成其作用对象的指针,上面i的指针就赋值给了p fmt.PrintLn(p) fmt.PrintLn(*p) *符号表示指针指向的底层的值,上面的第一个答应的p会打印一个内存地址,第二个p会答应10
Go 语言没有指针运算。
19 struct 表示的是结构体,表示的就是一个字段的集合。 20 结构体中的字段使用.号来访问。 type Vertex struct {
|
请发表评论