导包后仍然提示未定义错误:
在setting.json添加如下配置: "go.useLanguageServer": true
golang语法
分号: 代码结尾没有分号, 除非多个语句在同一行.
变量声明: var identifier type var age int; 一次声明两个变量: var b, c int = 1, 2 若未赋值,则为0
当函数、结构等标识符以一个大写字母开头,如:GetInfo,那么使用这种形式的标识符的对象就可以被外部包的代码所使用,这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。
//var v_name v_type
//var v_name 省略类型, 自动推断
//用 := 声明变量. 出现在 := 左侧的变量不应该是已经被声明过的,否则会导致编译错误
var intVal int
intVal :=1 // 这时候会产生编译错误
intVal,intVal1 := 1,2 // 此时不会产生编译错误,因为有声明新的变量,因为 := 是一个声明语句
//多变量声明
//类型相同多个变量, 非全局变量
var vname1, vname2, vname3 type
vname1, vname2, vname3 = v1, v2, v3
var vname1, vname2, vname3 = v1, v2, v3 // 和 python 很像,不需要显示声明类型,自动推断
vname1, vname2, vname3 := v1, v2, v3 // 出现在 := 左侧的变量不应该是已经被声明过的,否则会导致编译错误
// 这种因式分解关键字的写法一般用于声明全局变量
var (
vname1 v_type1
vname2 v_type2
)
待续
goland 中编译生成新的可执行文件: go build
网友评论