• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go指南学习笔记

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

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{
   return x + y
}

 

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() {
   fmt.Println(sqrt(3))
}

func sqrt(x float64)float64{
    z := x
   for i := 0; i < 10 ; i++  {
      z = z - (z*z -x)/(2*z)
   }
   return z
}

 

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 {
   x int
   y string
}
func main() {
   v := Vertex{100, "56565656"}
   v.x = 66
   fmt.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[golang]goget无法安装官方软件包发布时间:2022-07-10
下一篇:
77_Go基础_1_44接口是一种类型发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap