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

news2024/9/28 13:22:25

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

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位 可执行程序:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

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. _ 多用于占位,标识值可以忽略
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语言中的字符串是由双引号包裹的
s1 := "123"
s2 := "我们"
s3 := "mystring"
  • go语言中单引号包裹的是字符(单独的字母,汉字,符号,数字)
s1 := '1'
s2 := '我'
s3 := 's'
// 字节:1个字节=8Bit(8个二进制位)
// 一个字符'A' = 1个字节
// 一个utf8编码的汉字一般占3个字节 (比如‘沙’)

在这里插入图片描述
在这里插入图片描述
剩下内容点击这里免积分下载

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/984776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chrome_elf.dll丢失怎么办?修复chrome_elf.dll文件的方法

Chrome是目前最受欢迎的网络浏览器之一,然而有时用户可能会遇到Chrome_elf.dll丢失的问题。该DLL文件是Chrome浏览器的一个重要组成部分,负责启动和管理程序的各种功能。当Chrome_elf.dll丢失时,用户可能无法正常启动Chrome或执行某些功能。本…

log4qt库的使用

log4qt库的使用 一,什么是log4qt?二,log4qt的下载三,如何集成log4qt?1.在vs2022中集成log4qt的方法:模块一:配置log4qt的步骤步骤一,将下好的log4qt库进行解压,然后再库文件中,新建build和Log4Qt文件夹步骤二,打开cmake,有两个填写路径的位置.步骤三,点击cmake的configure按钮…

(2023,Diffusion)稳定扩散模型是不稳定的

Stable Diffusion is Unstable 公众号:EDPJ(添加 VX:CV_EDPJ 进交流群获取资料) 0. 摘要 最近,文本到图像模型一直蓬勃发展。 尽管它们具有强大的生成能力,但我们的研究发现这一生成过程缺乏稳健性。 具体…

【C++】平衡二叉搜索树的模拟实现

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

【数据结构】设计环形队列

环形队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在队首之后以形成一个循环。它也被称为“环形缓冲器”。 环形队列的一个好处是我们可以利用这个队列之前用过的空间。在一个普通队列里,一旦一个队列…

使用Caffeine实现帖子的缓存来优化网站的运行速度

导入依赖 <!-- https://mvnrepository.com/artifact/com.github.ben-manes.caffeine/caffeine --><dependency><groupId>com.github.ben-manes.caffeine</groupId><artifactId>caffeine</artifactId><version>3.1.7</version>…

【产品应用】一体化伺服电机在全自动咖啡研磨机中的应用

在现代社会中&#xff0c;咖啡已经成为人们生活中不可或缺的一部分。为了满足咖啡爱好者对于口感和品质的追求&#xff0c;全自动咖啡研磨机应运而生。 而其中的一体化伺服电机作为关键组件&#xff0c;发挥着重要的作用。本文将探讨一体化伺服电机在全自动咖啡研磨机中的应用&…

Magisk隐藏外挂解决方案

自2008年1.0测试版发布以来&#xff0c;安卓系统已经发展了近16年&#xff0c;凭借着优秀的开源生态&#xff0c;安卓系统飞速成长&#xff0c;已经成了当下手机系统中的龙头。据研究机构 Canalys 报告称&#xff0c;今年第一季度安卓设备的整体市场份额占比达到 78 %。 开源生…

走进中国水果罐头领军品牌真心罐头—快消食品企业的全链路数字化

近日&#xff0c;【数字中国-高效增长】名城优企游学系列之走进真心罐头活动成功举办&#xff01; 真心罐头食品有限公司&#xff08;以下简称为“真心罐头”&#xff09;初创于1990年&#xff0c;位于素有“北方明珠”、“黄桃之乡”美誉的海滨城市——辽宁省大连市&#xff0…

软件测试面试题(Python全栈自动化测试面试题)

1、你的测试职业发展是什么? 测试经验越多&#xff0c;测试能力越高。所以我的职业发展是需要时间积累的&#xff0c;一步步向着高级测试工程师奔去。而且我也有初步的职业规划&#xff0c;前3年积累测试经验&#xff0c;按如何做好测试工程师的要点去要求自己&#xff0c;不…

Java不定参数使用及一些注意情况

一、背景 在项目中使用到了StringUtils.isAllBlack(String …css)方法。可以很方便地传递不定数量的参数进行空判。 但开发过程中遇到了一些问题&#xff0c;所以特地记录一下。 二、不定参数传参 不定参数的传参本质上是一个泛型的数组。参数数量大于等于两个的时候&#x…

薅羊毛零撸小游戏是这样赚米的!

薅羊毛小游戏作为一种特殊类型的游戏&#xff0c;吸引了一大批用户的关注。本文将探讨薅羊毛小游戏的盈利模式、用户体验以及对游戏产业的影响&#xff0c;旨在为读者提供专业而有深度的思考和启示。 一、薅羊毛小游戏的盈利模式&#xff1a; 1.广告变现&#xff1a;薅羊毛小游…

R-CNN

目标检测、语义分割 由于我们将区域建议与CNN相结合&#xff0c;我们将我们的方法称为R-CNN:带有CNN特征的区域。 目标检测系统由三个模块组成。第一种方法生成分类独立的区域提案。这些提议定义了可供我们的检测器使用的候选检测集合。第二个模块是一个大型卷积神经网络&…

【C++基础】类与对象(中):默认成员函数、构造函数、析构函数、拷贝构造、赋值重载函数……

​&#x1f47b;内容专栏&#xff1a; C/C编程 &#x1f428;本文概括&#xff1a; C基础语法。六大默认构造函数简介、构造函数、析构函数、拷贝构造函数、赋值重载函数、const成员函数、取地址重载等。 &#x1f43c;本文作者&#xff1a; 阿四啊 &#x1f438;发布时间&…

开开心心带你学习MySQL数据库之第六篇上

​ &#x1f4ae; &#x1f4ae;&#x1f4ae; 只要路是对的&#xff0c;就不害怕遥远! &#x1f4ae; &#x1f4ae;&#x1f4ae; &#x1f386;&#x1f386;&#x1f386;窗台是风景&#xff0c;笔下有前途&#xff0c;低头是题海&#xff0c;抬头是未来&#x1f386;&…

扩散模型 DDPM 核心代码梳理

参考内容&#xff1a; 大白话AI | 图像生成模型DDPM | 扩散模型 | 生成模型 | 概率扩散去噪生成模型 AIGC 基础&#xff0c;从VAE到DDPM 原理、代码详解 全网最简单的扩散模型DDPM教程 The Annotated Diffusion Model LaTeX公式编辑器 备注&#xff1a; 具体公式的推导请查看…

BC类电池取代TOPCon?隆基绿能看得很“远”

隆基绿能在业绩会上喊话&#xff0c;BC类电池在未来会逐步取代TOPCON电池&#xff0c;成为晶硅电池的绝对主流&#xff0c;并指出N型TOPCon电池只是短期过渡技术路线。 “All in ”BC类电池的隆基绿能&#xff0c;重新定义技术路线的野望藏不住。 目前来看&#xff0c;相比TO…

数据接口工程对接BI可视化大屏(一)

文章目录 第1章 案例概述1.1 案例目标1.2 BI最终效果1.2.1 PC端显示效果1.2.2 移动端显示效果 后记 第1章 案例概述 1.1 案例目标 此项目以常见的手机零售BI场景为例&#xff0c;介绍如何编写数据接口工程对接BI可视化大屏。 如何从当前常见的主流大数据场景中为后台程序推送…

入行测试一年半的心得体会

成为xx一员测试已经有1年半了&#xff0c;一直没有真正坐下来花些时间将自己的思路理清一下。刚好近期公司落地了OKR&#xff0c;给自己制定了OKR之后思路终于开始清晰起来&#xff0c;朦朦胧胧地开始看清了远方的路&#xff0c;麻着胆子分析一下自己&#xff0c;毕竟摸黑走路的…