说明
基本信息:
- 系统:
manjaro-deepin - Java版本:
java-8-openjdk - javafx也是基于Java8的版本,scene-builder为Gluon的版本,也是基于Java8
- Intellij版本:
2020.1
安装Javafx
一开始尝试过安装最新的Java13版本,但是遇到了各种问题,最终还是选择了Java8版本
如果使用yay作为包管理器的话通过以下命令进行安装(如果不是的话,建议尝试一下yay)
1 | yay -S java8-openjfx |
主要参考youtue视频
mssql-server, msodbcsql, mssql-tools 若使用yay作为包管理器则输入以下命令即可
1
yay -S mssql-server msodbcsql mssql-tools
1 | $ sudo /opt/mssql/bin/mssql-conf setup |

2) Developer (free, no production use rights)),并同意相关条款(yes),接着设置符合规范的管理员密码
Methods
1 | package geometry |
(p Point)称之为方法的接收者(receiver)this或者self,一般采用对应类型的开头字母的小写(p对应Point)Distance函数并不会产生名称冲突,他们一个是包级别的函数(geometry.Distance),另一个是具名类型Point的方法(Point.Distance)Go中的
struct不支持重载,所以不能有两个方法名相同,也不能有成员和方法相同
Functions
1 | func name(parameter-list) (result-list) { |
1 | // 两者等价 |
Composite Types
由于数组是固定长度的,与切片(slice)相比有诸多不便,所以实际上很少用到,但是要理解切片就需要理解数组
1 | var q [3]int = [3]int{1,2,3} |
...填充数组长度,表示长度由字面量的个数决定(如果直接留空的话就是切片而不是数组)1 | type Currency int |
1 | r := [...]int{99: -1} // 长度为100,除了最后一个元素为-1之外,其余全部为0 |
Basic Date Types
int类型的细分int8 以及对应的无符号版本uint8int16int32int64byte是unit8的别名,rune是int32的别名. 虽然一般认为int是32位的,但是int和int32是两种类型,并且需要显式的转换-5%3和-5%-3的结果都是-2&^运算符(AND NOT)与非1 | medals := []string{"gold", "silver", "bronze"} |
len()函数依然返回的是有符号整数而不是无符号整数。如果len()函数返回的是无符号整数的话,那么i也将是无符号整数,那么i >= 0将永远为真,当i=0时执行i--将使得i变为int的最大值。本系列将从《The Go Programming Language》的第二章开始,记录一些阅读过程中遇到的值得记录的知识点,也希望可以坚持下去,读完整本书
Program Structure
export,也即其他包中可以通过import的方式访问到,如fmt.Printf。包名本身始终是小写的四种主要的声明
函数没有void返回选项,如果什么都不返回,直接为空即可
使用var来声明变量
1 | var name type = expression |
可以省略类型type或者不赋值,省略右侧的expression,省略类型会进行自动的类型推断,省略表达式会自动将变量赋值为其类型所对应的零值,在go中没有所谓的未初始化的变量
可以在一条声明语句中初始化多个不同类型的变量
1 | var i, j, k int |