반응형
2023년의 언어로 Go 를 정했다.
쓸모는 나중에 생각하고 일단 시작한다.
설치!
Downloads - The Go Programming Language
Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the release history for more information about Go releases
go.dev
그냥 한다! 쉽다!
기본 헬로우 월드!
package main
import "fmt"
func main(){
fmt.Println("Hello, World!")
}
세미콜론 안쓴다.
Go에는 while 없다!
그래서 이렇게 쓰면 while 과 같다!
package main
import "fmt"
func main(){
i := 0
for ok := true; ok; ok= (i!= 10) {
fmt.Println(i*i, " ")
i++
}
fmt.Println()
}
콘솔 입력은 fmt.Scanln
c언어와 같이 문자열 변수 선언후, 포인터 주소를 넘겨준다 (&)
package main
import "fmt"
func main(){
fmt.Println("이름을 알려달라!")
var name string
fmt.Scanln(&name)
fmt.Println("기미노 나마에와:", name)
}
콘솔 실행 인수는 os 패키지를 이용한다. os.Args
숫자변환 패키지는 strconv
에러처리도 포함하고, 입력된 인수중 최소, 최대 값을 출력
package main
import (
"fmt"
"os"
"strconv"
)
func main(){
arguments := os.Args
if len(arguments) == 1 {
//인수는 기본 1개이다. ( 실행어 )
fmt.Println("인수를 입력하라!")
return
}
var min, max float64
for i :=1; i< len(arguments); i++ {
n, err := strconv.ParseFloat(arguments[i], 64)
if err != nil {
continue
}
//처음은 바로 셋팅
if i == 1 {
min = n
max = n
continue
}
if n < min {
min = n
}
if n> max {
max = n
}
}
fmt.Println("가장작은 수 : " , min)
fmt.Println("가장큰 수 :", max)
}
고루틴의 매우매우 샘플스
package main
import (
"fmt"
"time"
)
func myPrint(start, finish int){
for i:=start; i <= finish;i++{
fmt.Print(i, " ")
}
fmt.Println()
time.Sleep(100*time.Microsecond)
}
func main(){
for i:=0;i<5;i++{
go myPrint(i, 5) //고루틴
}
time.Sleep(time.Second)
}
쓰레드와 고루틴은 비슷하면서도 다름!
반응형