Goベースhello world
7368 ワード
Hello World
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
1) package main
パッケージ→機能スイート
メインパッケージの宣言を書き込む
プログラム(開始点を含む)はmainで始まる
2) import "fmt"
mainパッケージのfmt機能を使用します.
3) func main()
func(function):関数は、入力が入力されたときに任意の演算を行い、出力します.
プログラミング言語では、入力がなくても呼び出しで実行する機能があります
main():関数名(入力)mainは関数の起点であり、他の関数では使用できません.
4) {fmt.Println("Hello World")}
{}:プログラムの開始と終了
fmt.println:fmtパッケージ"."=printlnという名前の機能を使用します.
(「Hello World」):()=「入力値」
へんすう
変数値を変更できる数値.
1)変数の属性
2)変数の宣言方法
var a int
a = 3
var(変数)a(名前)int(タイプ)a=3(値)
aという変数タイプは整数(int)で、その値は3に代入されます.
var a int
a =5 // 데이터 타입과 대입을 따로 따로
var b int = 8 // 데이터 타입과 대입을 한번에
var c = 6
var d = 3.14 // 데이터 타입을 자동으로 설정해서 대입 한다.
e := 4
f := 2 //var는 쓰지않고 데이터 타입을 자동으로 설정해서 대입 한다.
3)変数の原理
変数を宣言すると、特定のメモリアドレスが表示されます.aという変数が宣言された場合、aはメモリに格納され、そのメモリアドレスを使用して値が取得されます.
ここから取得したメモリアドレスは、開始点として使用され、aが呼び出されたときにどこまで読むかが決定される.つまりサイズを教えます.
ここでそのサイズを教えてあげるのがデータ型を特定することです.
4)データ型とサイズ
適切なデータ型を使用して、コンピュータのメモリを節約します.
整数の略は、32ビットコンピュータで4バイト、64ビットコンピュータで8バイトの整数を表す.
実数型を表し、数字部分と小数点部分に分けられます.
文字列のデータ型を表します.
サイズが変わりました.
Booleanデータ型の変数は一般的な数字ではなく、真偽を表すデータ型です.
true/false
演算子
演算子:+、-、*、/
ビット演算子:&、|、^
論理演算子:>、<、=、!=
package main
import "fmt"
func main() {
a := 4
b := 2
fmt.Printf("a&b = %v\n", a&b)
fmt.Printf("a|b = %v\n", a|b)
fmt.Println("a^b =", a^b)
}
fmt.Printf("a&b = %v\n",a)「a&b=%vn」の後の値(a&b)をフォーマット(%v)で挿入します.
%v:後の値のデータ型を設定して読み込みます.
fmt.Println("a^b =", a^b)
出力毎に「a^b=」とa^b
n:実行
a&b:AND演算
a|b:OR演算
a^b:XOR演算
*a^:単項演算子としてNOT
package main
import "fmt"
func main(){
a := 21
c := a % 10
a = a / 10
d := a % 10
fmt.Printf("첫번째 수 : %v\n두번째 수 : %v\n", c, d)
}
---------------------------
첫번째 수 : 1
두번째 수 : 2
%:その他の演算子c := a % 10
21を10で割った残りのc:=1
a = a/10
21を10で割ると整数型なので小数点は消えてしまいますa=2
d := a % 10
2を10で割って、商は2です.d := 2
package main
import "fmt"
func main(){
a := 4
fmt.Println(a &^ a)
fmt.Println(a << 1)
fmt.Println(a >> 1)
}
---------------------------
0
8
2
*&^:clear演算子a&^a
a = 4 -> 0100
a = ^4 -> 1011
0100 & 1011 = 0000
シフト演算子
>> , <<
矢印方向1ビットプッシュ原理
a =4 -> 0100
a<<1 -> 1000
a>>1 -> 0010
条件演算子
真偽を区別する演算子.
package main
import "fmt"
func main(){
var a bool
a = 3 > 4
fmt.Println(a)
}
-----------------------
false
3が4未満のため、出力値はfalsepackage main
import "fmt"
func main(){
var a bool
a = 3 < 4 && 2 < 5
fmt.Println(a)
}
-----------------------
true
&&両方が満たされるとtrueが現れます.演算子を参照
リンクテキスト
条件文
ex1)
package main
import "fmt"
func main(){
if 3 > 4 {
fmt.Println("참")
}
fmt.Println("거짓")
}
-----------------------------
거짓
if文は、与えられた条件が真である場合にその値を出力するので、上記の条件3>4は偽であるため、if文のfmtである.Println(「対」)は出力されません.ex2)
package main
import "fmt"
func main(){
a := 3
if a == 3 {
fmt.Println("a 는 3")
}
fmt.Println("a 의 값은 ", a)
}
-----------------------------
a 는 3
a 의 값은 3
a:=3で変数を宣言する場合a=3が真の場合、if文のコードと外部のコードが出力されることがわかります.
じょうけんステートメント
package main
import "fmt"
func main(){
a := 4
if a == 3 {
fmt.Println("a 는 3이다.")
} else {
fmt.Println("a는 3이 아니다.")
}
}
与えられた条件が真の場合、出力はそうでない場合、elseはelseを出力します.
ifの角カッコの末尾にぴったりです.
じょうけんステートメント
package main
import "fmt"
func main(){
a := 4
if a == 3 {
fmt.Println("a 는 3이다.")
} else if a == 4 {
fmt.Println("a는 4이다.")
} else {
fmt.Println("a는 3도 아니고 4도 아니다.")
}
}
-----------------------------
a는 4이다.
else ifは、複数の条件を設定するために使用されます.体験する
package main
import (
"bufio"
"fmt"
"os"
"strconv"
"strings"
)
func main() {
fmt.Println("숫자를 입력하세요")
reader := bufio.NewReader(os.Stdin)
line, _ := reader.ReadString('\n')
line = strings.TrimSpace(line)
n1, _ := strconv.Atoi(line)
line, _ = reader.ReadString('\n')
line = strings.TrimSpace(line)
n2, _ := strconv.Atoi(line)
fmt.Printf("입력하신 숫자는 %d, %d 입니다.\n", n1, n2)
fmt.Println("연산자를 입력하세요")
line, _ = reader.ReadString('\n')
line = strings.TrimSpace(line)
if line == "+" {
fmt.Printf("%d + %d = %d", n1, n2, n1+n2)
} else if line == "-" {
fmt.Printf("%d - %d = %d", n1, n2, n1-n2)
} else if line == "*" {
fmt.Printf("%d * %d = %d", n1, n2, n1*n2)
} else if line == "/" {
fmt.Printf("%d / %d = %d", n1, n2, n1/n2)
} else {
fmt.Println("잘못 입력하셨습니다.")
}
}
import():複数のパッケージをインポートするときにカッコを使用します.
「os」:標準入力から入力を受信する場合に必要
「bufio」:入力から1行受信する場合に必要
strconv:文字列を数値に変換する機能
「strings」:string入力を受信したときに残渣を削除する機能
os.Stdin=osパッケージにStdin->標準を入力
bufio.NewReader()=bufioパッケージにNewReader->読み取り用オブジェクトを作成します.
line, _ := reader.ReadString('\n')
「n」が表示されるまでreader変数で読み込みます.
結果値はstringとerrorです.
エラー部分を処理しない行を読み、「」無名変数として処理します.
line = strings.TrimSpace(line)
stringパッケージのTrimSpaceは、行変数に不要な文字列("n")を解放します.
*("n")これは数字では置き換えられないため、エラーです.
n1, _ := strconv.Atoi(line)
strconvパッケージのAto->文字列を数値に変換します.
結果値はstringとerrorなのでlineとして処理します.
同様の方法でn 2も製造される.
これに加えて、演算子を設定することもできますが、数値に変換する必要はありません.
n1, _ := strconv.Atoiは使いません.
if文で各演算子の結果を入力します.
実行方法
端末から対応するディレクトリに移動
go build 파일명
exeファイルを作成します../파일명.exe
通過する.Reference
この問題について(Goベースhello world), 我々は、より多くの情報をここで見つけました https://velog.io/@jinzza456/Go-언어-기초-강좌-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol