C++、Java在学习Go时需要注意的地方

对C++和Java使用比较多一些,现在需要使用Go,以下记录了学习Go过程中,Go与C++、Java在语法和使用上一些不同之处。好记性不如烂笔头,记录下来,以便查询。

1、当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。

2、函数的 { 不能单独放在一行,否则会产生错误,例如:

package main

import "fmt"

func main()  
{  // 错误,{ 不能在单独的行上
    fmt.Println("Hello, World!")
}

3、声明一个变量时,可不指定类型,会根据其赋的值自动解析变量类型

例如:var d = true

4、声明一个变量并赋值的新用法 :=

intVal,intVal1 := 1,2 //将变量intVal,intVal1分别赋值为1,2,会自动将变量解析为int类型

:=的左边必须至少包含一个未被声明过的变量,否则会报错

注:这种不带声明格式的(例如:intVal,intVal1 := 1,2 )只能在函数体中出现

5、Go 没有三目运算符,所以不支持 ?: 形式的条件判断

6、select语句

select 语句类似于 switch 语句,但是select会随机执行一个可运行的case。如果没有case可运行,它将阻塞,直到有case可运行

7、无限循环

package main

import "fmt"

func main() {
    for true  {
        fmt.Printf("这是无限循环。\n");
    }
}

8、Go使用 gcfg.ReadFileInto() 读取YAML,JSON,INI等配置文件

https://yq.aliyun.com/articles/693684

 

 

参考:https://www.runoob.com/go/go-tutorial.html

持续更新ing....................................................................

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值