golang 初识小结

1 为什么学

工作需要,未来投资


2 golang的特点

设置为服务端语言,简洁,用来替换C语言。


3 有意思的特性

《1》 函数的可变参数

《2》变量函数首字母大写是公共的,小写是私有的 ;

《3》中文命名的变量和函数

《4》延迟执行,离开作用域后执行。关键字 defer(再也不担心忘记释放语句)(函数返回时,能再次修改返回值)

《5》函数的强制云括号格式化,必须在函数名那一句的右边。不这样还编译报错。


4 平凡语言特性

自动垃圾回收
更丰富的内置类型
函数多返回值
错误处理
匿名函数和闭包
类型和接口
并发编程
反射
语言交互性


5 和c的比较

(##总的说,比C语言省略了圆括号,分号; 类型名靠后;)

1 头文件引用 #include <***> vs import "fmt"

2 函数变量类型定义

int myType::funcName(int a,int b,string c)
{
函数体
return r //只能单个返回值
}

vs


func (p myType ) funcName ( a,b int,c string ) ( r,s int ) {
函数体
return 语句
}
func : 关键字
(p myType): 表明函数所属于的类型对象!,即为特定类型定义方法,可以省去不写,即为普通的函数 (这里我们主要讲解 普通的函数)
函数名:
参数: (可以不声明)
返回值: (可以不声明)
函数体:

3 变量赋值

int a = 3; vs var a int = 3 或者 a:= 3(仅在函数体内才能这么写,自动类型推导)


4 for的比较

int i;
for(i =0; i<10; i++)
{
}

vs


for i:=0; i<10; i++ {
}

【注 foreach】

var pow = []int{1,2,4,8,16,32,64,128}

for i,v := range pow {
fmt.Printf("2**%d = %d\n",i,v)
}

//_作为哑元,占位用

for _,value := range pow {
fmt.Printf("%d\n",value)
}

5 while 的比较

while(i<10)
{
}


vs


for i<10 {
}

【注】 死循环为

for {
}


6 if比较

if( x > 0)
{
}

else

{

}


vs


if x>0{

}else{

}

【注】if语句可以在条件之前执行一个简单语句。if v := math.Pow(x,n); v < lim {


7 if else比较

if(t.Hour()<12)
{
j = 2;
}
else if( t.Hour() < 17)
{
j = 3;
}
else
{
j=4
}


vs


switch {
case t.Hour() < 12:
j = 2
case t.Hour() < 17:
j = 3
default:
j = 4
}


8 switch比较

switch(x)
{
case 1:
case 2:
xxx;
i = 3
break;
case 3:
j = 3
break;
default:
break;
}

vs

switch x{
case 1:
fallthrough
case 2:
i = 3
case 3:
j = 3
default:
break;
}


9 动态数组 vector vs slice


10

相关文章

类型转换 1、int转string 2、string转int 3、string转float ...
package main import s &quot;strings&quot; import...
类使用:实现一个people中有一个sayhi的方法调用功能,代码如...
html代码: beego代码:
1、读取文件信息: 2、读取文件夹下的所有文件: 3、写入文件...
配置环境:Windows7+推荐IDE:LiteIDEGO下载地址:http:...