【Go基础】编译、变量、常量、基本数据类型、字符串

面试题文档下链接点击这里免积分下载

go语言入门到精通点击这里免积分下载

编译

  • 使用 go build

1.在项目目录下执行

2.在其他路径下编译 go build ,需要再后面加上项目的路径(项目路径从GOPATH/src后开始写起,编译之后的可执行文件就保存再当前目录)

3.打包的时候自定义名字:go build -o 自定义包名

go run

像执行脚本文件一样执行 go 代码

go install

go install 分为两步:

先编译得到一个可执行文件

将可执行文件拷贝到'GOPATH/bin'

交叉编译跨平台编译

  1. Go支持跨平台编译
  2. 例如:在mac平台或者Windows平台编译出可以运行在Linux平台的二进制文件
  3. 示例代码:Mac 下编译 Linux 和 Windows平台 64位 可执行程序:
go 复制代码
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

go语言文件的基本结构

go 复制代码
//导入语句 双引号包裹
import "fmt"

//函数外只能放置标识符(变量,常量,函数,类型)的声明;不能放置语句

//程序的入口函数
func main() {
    fmt.Println("hello world")
}

变量和常量

  • 标识符和关键字
  • 关键字
  • 保留字

变量

go的变量要先声明再使用

声明变量

var sl string 声明一个保存字符串类型的变量s1

var age int

var isOk bool

注意事项

  1. 函数外的每个语句必须以关键字开始(var、const、func等)
  2. := 不能在函数外使用
  3. _ 多用于占位,标识值可以忽略
go 复制代码
package main

import "fmt"

//go语言中推荐使用驼峰命名
// var studentName string

//声明变量
// var name string
// var age int
// var isOk bool

//批量声明  声明全局变量建议使用批量声明,方便追加
var (
	name string // ""
	age  int    // 0
	isOk bool   // false
)

//匿名变量使用_指定,匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。

func main() {
	name = "理想"
	age = 18
	isOk = true
	// var test = string
	//go语言中非全局变量声明了就必须使用,不使用就无法编译(全局变量声明了不使用也可以编译通过)
	fmt.Print(isOk) //在终端中输入要打印的内容
	fmt.Println()
	fmt.Printf("name:%s\n", name) // %s是一个占位符 使用name这个变量的值替换%s占位符
	fmt.Println(age)              //打印完指定的内容后,会加一个换行符
	// test = "111"
	// fmt.Println(test)

	//声明变量的同时赋值
	var s1 string = "wzy"
	fmt.Println(s1)
	//类型推倒  根据值判断变量是什么类型
	var s2 = "lizijie"
	fmt.Println(s2)
	//简短变量声明,只能再函数里面用
	s3 := "luanran"
	fmt.Println(s3)
	// 同一个作用域,不能重复声明同名变量
	// 简单理解作用域,同一个{}就是一个作用域
	// s3 := "huihui"
	// 匿名变量 是一个特殊的变量: _

}

基本数据类型

32位和64位操作系统的区别

程序寻址长度,最大支持多少内存,一个老旧的32位Windows操作系统最多只能读取3.8G的内存,安装16G的内存条也只能读取3.8G的内存
八进制和十六进制

八进制数的第一位就是0

十六进制数是0x开头的

字符串

  • Go语言中的字符串是由双引号包裹的
go 复制代码
s1 := "123"
s2 := "我们"
s3 := "mystring"
  • go语言中单引号包裹的是字符(单独的字母,汉字,符号,数字)
go 复制代码
s1 := '1'
s2 := '我'
s3 := 's'
// 字节:1个字节=8Bit(8个二进制位)
// 一个字符'A' = 1个字节
// 一个utf8编码的汉字一般占3个字节 (比如'沙')


剩下内容点击这里免积分下载

相关推荐
昵称画6 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
“AI国潮设计-小江”6 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
沙蒿同学6 小时前
不引 Ghostscript:我用纯 Go 给 PDF 做了一场「压缩手术」
前端·后端·github
传奇开心果编程6 小时前
【Rust入门练中学】第6课:结构体与方法
开发语言·rust·结构体·编程语言理论·结构体方法·编程通用语言
code tsunami7 小时前
【无标题】
开发语言·python
CodeGL7 小时前
10、Python基础之进程和线程
开发语言·python
前进的李工8 小时前
飞书企业知识库设计+后端高频八股
数据库·redis·后端·mysql·性能优化·飞书·rag
TechWayfarer8 小时前
PHP漏洞被利用,怎么揪出攻击IP?
开发语言·python·tcp/ip·网络安全·php
金銀銅鐵10 小时前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
卡卡~~10 小时前
“101计划”核心课程实践教材《数据实验结构指导-C++语言版》题目集
开发语言·c++·学习·算法